Univention Bugzilla – Attachment 7587 Details for
Bug 33344
wrong referenced policy is displayed
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
proposed patch 2
33344_2-code.patch (text/plain), 6.25 KB, created by
Jürn Brodersen
on 2016-04-08 16:20 CEST
(
hide
)
Description:
proposed patch 2
Filename:
MIME Type:
Creator:
Jürn Brodersen
Created:
2016-04-08 16:20 CEST
Size:
6.25 KB
patch
obsolete
>Index: umc/js/udm/DetailPage.js >=================================================================== >--- umc/js/udm/DetailPage.js (Revision 68436) >+++ umc/js/udm/DetailPage.js (Arbeitskopie) >@@ -49,6 +49,7 @@ > "umc/widgets/ComboBox", > "umc/widgets/Form", > "umc/widgets/Page", >+ "umc/widgets/LinkList", > "umc/widgets/StandbyMixin", > "umc/widgets/TabController", > "dijit/layout/StackContainer", >@@ -62,7 +63,7 @@ > "umc/i18n!umc/modules/udm", > "dijit/registry", > "umc/widgets" >-], function(declare, lang, array, on, Deferred, all, when, construct, domClass, topic, json, TitlePane, render, tools, dialog, ContainerWidget, MultiInput, ComboBox, Form, Page, StandbyMixin, TabController, StackContainer, Text, Button, LabelPane, Template, OverwriteLabel, UMCPBundle, cache, _ ) { >+], function(declare, lang, array, on, Deferred, all, when, construct, domClass, topic, json, TitlePane, render, tools, dialog, ContainerWidget, MultiInput, ComboBox, Form, Page, LinkList, StandbyMixin, TabController, StackContainer, Text, Button, LabelPane, Template, OverwriteLabel, UMCPBundle, cache, _ ) { > > var _StandbyPage = declare([Page, StandbyMixin], {}); > >@@ -443,6 +444,28 @@ > })); > }, > >+ _renderReferencingObjectsTab: function() { >+ if (this.objectType != 'policies/policy' && this.objectType.indexOf('policies/') === 0) { >+ this._referencingObjectsTab = new Page({ >+ title: _('Referencing objects'), >+ noFooter: true, >+ headerText: _('Objects referencing this policy object'), >+ }); >+ this._addSubTab(this._referencingObjectsTab, 1); >+ when(this.ldapName, lang.hitch(this, '_createReferencingObjects')); >+ }; >+ }, >+ >+ _createReferencingObjects: function(ldapName) { >+ var referencingObjects = new LinkList({ >+ dynamicValues: "udm/policy/referencing_objects", >+ dynamicOptions: { >+ objectDN_policy: ldapName, >+ }, >+ }); >+ this._referencingObjectsTab.addChild(referencingObjects); >+ }, >+ > _renderPolicyTab: function(policies) { > this._policyWidgets = {}; > if (policies && policies.length) { >@@ -1022,7 +1045,8 @@ > })); > }, > >- _addSubTab: function(page) { >+ _addSubTab: function(page, index) { >+ index = index || this._tabs.getChildren().length; > var tabController = new TabController({ > region: 'nav', > containerId: this._tabs.id, >@@ -1037,7 +1061,7 @@ > page.addChild(page.position_text); > page.own(page.position_text); > >- this._tabs.addChild(page); >+ this._tabs.addChild(page, index); > this.own(page); > }, > >@@ -1118,6 +1142,7 @@ > this._autoUpdateTabTitle(widgets); > this._renderSubTabs(widgets, layout, metaInfo).then(lang.hitch(this, function() { > this._renderPolicyTab(policies); >+ this._renderReferencingObjectsTab(); > this._renderForm(widgets); > this._renderMultiEditCheckBoxes(widgets); > this._registerOptionWatchHandler(); >Index: umc/python/udm/__init__.py >=================================================================== >--- umc/python/udm/__init__.py (Revision 68436) >+++ umc/python/udm/__init__.py (Arbeitskopie) >@@ -60,6 +60,7 @@ > import univention.admin.modules as udm_modules > import univention.admin.objects as udm_objects > import univention.admin.uexceptions as udm_errors >+import univention.admin.syntax as udm_syntax > > from univention.config_registry import handler_set > >@@ -851,6 +852,16 @@ > module = self._get_module_by_request(request) > return module.policies > >+ @sanitize( >+ objectDN_policy=LDAPSearchSanitizer(use_asterisks=False) >+ ) >+ @simple_response >+ def policy_referencing_objects(self, objectDN_policy): >+ search_filter = "(&(objectClass=univentionPolicyReference)(univentionPolicyReference=%s))" % objectDN_policy >+ search_options = {"filter": search_filter, "viewonly": True} >+ syntax = udm_syntax.LDAP_Search(**search_options) >+ return read_syntax_choices(syntax) >+ > def validate(self, request): > """Validates the correctness of values for properties of the > given object type. Therefor the syntax definition of the properties is used. >Index: umc/python/udm/udm_ldap.py >=================================================================== >--- umc/python/udm/udm_ldap.py (Revision 68436) >+++ umc/python/udm/udm_ldap.py (Arbeitskopie) >@@ -627,21 +627,9 @@ > value = description_property.syntax.tostring(value) > return value > >- def is_policy_module(self): >- return self.name.startswith('policies/') and self.name != 'policies/policy' >- > def get_layout(self, ldap_dn=None): > """Layout information""" > layout = getattr(self.module, 'layout', []) >- if ldap_dn is not None: >- mod = get_module(None, ldap_dn) >- if mod is not None and self.name == mod.name and self.is_policy_module(): >- layout = copy.copy(layout) >- tab = udm_layout.Tab(_('Referencing objects'), _('Objects referencing this policy object'), >- layout=['_view_referencing_objects'] >- ) >- layout.append(tab) >- > if layout and isinstance(layout[0], udm.tab): > return self._parse_old_layout(layout) > >@@ -695,34 +683,6 @@ > if iprop['id'] in inLayout: > properties.append(iprop) > >- if ldap_dn: >- # hack reference list for policies into items >- if self.is_policy_module(): >- # create syntax object >- syntax = udm_syntax.LDAP_Search( >- filter='(&(objectClass=univentionPolicyReference)(univentionPolicyReference=%s))' % ldap_dn, >- viewonly=True) >- >- # create item >- item = { >- 'id': '_view_referencing_objects', >- 'label': '', >- 'description': '', >- 'syntax': syntax.name, >- 'size': syntax.size, >- 'required': False, >- 'editable': False, >- 'options': [], >- 'readonly': False, >- 'searchable': False, >- 'multivalue': True, >- 'identifies': False, >- } >- >- # read UCR configuration >- item.update(widget(syntax, item)) >- properties.append(item) >- > return properties > > @property >Index: umc/udm.xml >=================================================================== >--- umc/udm.xml (Revision 68436) >+++ umc/udm.xml (Arbeitskopie) >@@ -104,6 +104,7 @@ > <command name="udm/values" function="values" /> > <command name="udm/templates" function="templates" /> > <command name="udm/policies" function="policies" /> >+ <command name="udm/policy/referencing_objects" function="policy_referencing_objects" /> > <command name="udm/put" function="put" /> > <command name="udm/add" function="add" /> > <command name="udm/remove" function="remove" />
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
Actions:
View
|
Diff
Attachments on
bug 33344
:
7582
|
7587
|
7588
|
7606
|
7608
|
7619
|
7623