Index: debian/univention-management-console-module-appcenter.postinst =================================================================== --- debian/univention-management-console-module-appcenter.postinst (Revision 47751) +++ debian/univention-management-console-module-appcenter.postinst (Arbeitskopie) @@ -70,5 +70,9 @@ " fi +if dpkg --compare-versions "$2" lt-nl 3.0.51-3; then + /usr/sbin/univention-rename-app tine20org tine20 +fi + exit 0 Index: debian/univention-management-console-module-appcenter.install =================================================================== --- debian/univention-management-console-module-appcenter.install (Revision 47811) +++ debian/univention-management-console-module-appcenter.install (Arbeitskopie) @@ -2,3 +2,4 @@ ldap/*.schema usr/share/univention-management-console-module-appcenter ldap/*.acl usr/share/univention-management-console-module-appcenter scripts/univention-register-apps usr/sbin/ +scripts/univention-rename-app usr/sbin/ Index: umc/js/de.po =================================================================== --- umc/js/de.po (Revision 48029) +++ umc/js/de.po (Arbeitskopie) @@ -1019,9 +1019,6 @@ #~ "aus, nachdem Sie die Applikation auf diesem System installiert " #~ "haben." -#~ msgid "Buy" -#~ msgstr "Kaufen" - #~ msgid "Categories" #~ msgstr "Kategorien" Index: umc/python/appcenter/app_center.py =================================================================== --- umc/python/appcenter/app_center.py (Revision 48083) +++ umc/python/appcenter/app_center.py (Arbeitskopie) @@ -341,12 +341,14 @@ if self.get(ikey): self._options[ikey] = urljoin('%s/' % self.get_metainf_url(), self.get(ikey)) + # versions will be set to something meaningful by Application.all() + self.versions = [self] + # save important meta data - self.id = self._options['id'] = self._options['id'].lower() + self.id = self.ldap_id = self.ldap_container = None + self.set_id(self._options['id']) self.name = self._options['name'] self.version = self._options['version'] - self.ldap_container = 'cn=%s,cn=apps,cn=univention,%s' % (self.id, ucr.get('ldap/base')) - self.ldap_id = '%s_%s' % (self.id, self.version) # get the name of the component m = self._reg_component_id.match(url) @@ -368,6 +370,18 @@ # is set by all() self.candidate = None + def set_id(self, app_id, recursive=True): + if recursive: + for iapp in self.versions: + # will call also for self! + iapp.set_id(app_id, recursive=False) + else: + app_id = app_id.lower() + self.id = app_id + self._options['id'] = app_id + self.ldap_id = '%s_%s' % (self.id, self.get('version')) + self.ldap_container = 'cn=%s,cn=apps,cn=univention,%s' % (self.id, ucr.get('ldap/base')) + def get(self, key): '''Helper function to access configuration elements of the application's .ini file. If element is not given, returns (for string elements) an empty string.