new UserPermission fields
This commit is contained in:
parent
6e8728e3c0
commit
e9c7514b3d
4 changed files with 39 additions and 5 deletions
|
@ -27,7 +27,7 @@ class AccessPermissionForm(Form):
|
|||
self.author = request.user
|
||||
|
||||
# determine which access permissions the author can grant
|
||||
if not request.user_permissions.access_all:
|
||||
if not request.user_permissions.grant_all_access:
|
||||
self.author_access_permissions = {
|
||||
pk: expire_date for pk, expire_date in self.author.accesspermissions.filter(
|
||||
Q(can_grant=True) & (Q(expire_date__isnull=True) | Q(expire_date__lt=timezone.now()))
|
||||
|
@ -86,7 +86,7 @@ class AccessPermissionForm(Form):
|
|||
self.fields['expires'] = ChoiceField(required=False, initial='60', choices=expire_choices)
|
||||
|
||||
# if applicable, add field to grant pass on permissions
|
||||
if request.user_permissions.access_all:
|
||||
if request.user_permissions.grant_all_access:
|
||||
choices = [('0', '---')]*6 + [('1', _('can pass on'))] + [('0', '---')]*3
|
||||
self.fields['can_grant'] = ChoiceField(required=False, initial='60', choices=choices)
|
||||
|
||||
|
|
30
src/c3nav/control/migrations/0004_more_user_permissions.py
Normal file
30
src/c3nav/control/migrations/0004_more_user_permissions.py
Normal file
|
@ -0,0 +1,30 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.7 on 2017-12-19 10:21
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('control', '0003_auto_20171210_1452'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameField(
|
||||
model_name='userpermissions',
|
||||
old_name='access_all',
|
||||
new_name='grant_all_access',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='userpermissions',
|
||||
name='api_secret',
|
||||
field=models.CharField(blank=True, max_length=64, null=True, verbose_name='API secret'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='userpermissions',
|
||||
name='max_changeset_changes',
|
||||
field=models.PositiveSmallIntegerField(default=10, verbose_name='max changes per changeset'),
|
||||
),
|
||||
]
|
|
@ -10,12 +10,16 @@ class UserPermissions(models.Model):
|
|||
User Permissions
|
||||
"""
|
||||
user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, primary_key=True)
|
||||
|
||||
review_changesets = models.BooleanField(default=False, verbose_name=_('can review changesets'))
|
||||
direct_edit = models.BooleanField(default=False, verbose_name=_('can activate direct editing'))
|
||||
max_changeset_changes = models.PositiveSmallIntegerField(default=10, verbose_name=_('max changes per changeset'))
|
||||
|
||||
control_panel = models.BooleanField(default=False, verbose_name=_('can access control panel'))
|
||||
grant_permissions = models.BooleanField(default=False, verbose_name=_('can grant control permissions'))
|
||||
manage_announcements = models.BooleanField(default=False, verbose_name=_('manage announcements'))
|
||||
access_all = models.BooleanField(default=False, verbose_name=_('can grant access to everything'))
|
||||
grant_all_access = models.BooleanField(default=False, verbose_name=_('can grant access to everything'))
|
||||
api_secret = models.CharField(null=True, blank=True, max_length=64, verbose_name=_('API secret'))
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('User Permissions')
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
<th>{% trans 'Access Restriction' %}</th>
|
||||
<th>{% trans 'expires' %}</th>
|
||||
<th>{% trans 'can grant' %}</th>
|
||||
{% if request.user_permissions.access_all %}
|
||||
{% if request.user_permissions.grant_all_access %}
|
||||
<th></th>
|
||||
{% endif %}
|
||||
</tr>
|
||||
|
@ -41,7 +41,7 @@
|
|||
<td>{{ access_permission.access_restriction.title }}</td>
|
||||
<td>{% if access_permission.expire_date %}{{ access_permission.expire_date }}{% else %}{% trans 'never' %}{% endif %}</td>
|
||||
<td>{% if access_permission.can_grant %}{% trans 'Yes' %}{% else %}{% trans 'No' %}{% endif %}</td>
|
||||
{% if request.user_permissions.access_all %}
|
||||
{% if request.user_permissions.grant_all_access %}
|
||||
<td class="button-cell"><button type="submit" name="delete_access_permission" value="{{ access_permission.pk }}">{% trans 'Delete' %}</button></td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue