145 |
145 |
name = tables.LinkColumn(
|
146 |
146 |
viewname='a2-manager-role-members', kwargs={'pk': A('pk')}, accessor='name', verbose_name=_('label')
|
147 |
147 |
)
|
148 |
|
via = tables.TemplateColumn(
|
149 |
|
'''{% for rel in record.via %}{{ rel.child }} {% if not forloop.last %}, {% endif %}{% endfor %}''',
|
|
148 |
via = tables.Column(
|
150 |
149 |
verbose_name=_('Inherited from'),
|
151 |
150 |
orderable=False,
|
152 |
151 |
)
|
153 |
|
member = tables.TemplateColumn(
|
154 |
|
'{%% load i18n %%}<input class="role-member{%% if not record.member and record.via %%} '
|
155 |
|
'indeterminate{%% endif %%}"'
|
156 |
|
' name="role-{{ record.pk }}" type="checkbox" {%% if record.member %%}checked{%% endif %%} '
|
157 |
|
'{%% if not record.has_perm %%}disabled '
|
158 |
|
'title="{%% trans "%s" %%}"{%% endif %%} '
|
159 |
|
'{%% if not record.can_manage_members %%}disabled '
|
160 |
|
'title="{%% trans "%s" %%}"{%% endif %%}/>'
|
161 |
|
% (
|
162 |
|
ugettext_noop('You are not authorized to manage this role'),
|
163 |
|
ugettext_noop('This role is synchronised from LDAP, changing members is not allowed.'),
|
164 |
|
),
|
|
152 |
|
|
153 |
member = tables.Column(
|
165 |
154 |
verbose_name=_('Member'),
|
166 |
155 |
order_by=('member', 'via', 'name'),
|
167 |
156 |
)
|
... | ... | |
172 |
161 |
content = SafeText('%s (%s)' % (content, _('LDAP')))
|
173 |
162 |
return content
|
174 |
163 |
|
|
164 |
def render_via(self, record, bound_column):
|
|
165 |
return ', '.join([str(rel.child) for rel in record.via])
|
|
166 |
|
|
167 |
def render_member(self, record, bound_column):
|
|
168 |
input_class = 'role-member'
|
|
169 |
if not record.member and record.via:
|
|
170 |
input_class += ' indeterminate'
|
|
171 |
name = 'role-%s' % record.pk
|
|
172 |
checked = ''
|
|
173 |
if record.member:
|
|
174 |
checked = 'checked'
|
|
175 |
disabled = ''
|
|
176 |
if not record.has_perm:
|
|
177 |
disabled = 'disabled title="%s" ' % _('You are not authorized to manage this role')
|
|
178 |
if not record.can_manage_members:
|
|
179 |
disabled = 'disabled title="%s" ' % _(
|
|
180 |
'This role is synchronised from LDAP, changing members is not allowed.'
|
|
181 |
)
|
|
182 |
|
|
183 |
return SafeText(
|
|
184 |
'<input class="%s" name="%s" type="checkbox" %s %s/>' % (input_class, name, checked, disabled)
|
|
185 |
)
|
|
186 |
|
175 |
187 |
class Meta:
|
176 |
188 |
model = get_role_model()
|
177 |
189 |
attrs = {'class': 'main', 'id': 'role-table'}
|
178 |
|
-
|