add user in access panel
This commit is contained in:
parent
4905f373ec
commit
ba4fa985d5
5 changed files with 61 additions and 3 deletions
|
@ -1,7 +1,7 @@
|
||||||
from django.forms import ModelForm, MultipleChoiceField
|
from django.forms import ModelForm, MultipleChoiceField
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from c3nav.access.models import AccessToken
|
from c3nav.access.models import AccessToken, AccessUser
|
||||||
from c3nav.mapdata.models import AreaLocation
|
from c3nav.mapdata.models import AreaLocation
|
||||||
|
|
||||||
|
|
||||||
|
@ -47,3 +47,9 @@ class AccessTokenForm(ModelForm):
|
||||||
data = [':full']
|
data = [':full']
|
||||||
data = ';'.join(data)
|
data = ';'.join(data)
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
||||||
|
class AccessUserForm(ModelForm):
|
||||||
|
class Meta:
|
||||||
|
model = AccessUser
|
||||||
|
fields = ['user_url', 'description']
|
||||||
|
|
22
src/c3nav/access/migrations/0005_auto_20161225_1018.py
Normal file
22
src/c3nav/access/migrations/0005_auto_20161225_1018.py
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.10.4 on 2016-12-25 10:18
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('access', '0004_auto_20161223_2225'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='accessuser',
|
||||||
|
name='author',
|
||||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL, verbose_name='creator'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -31,7 +31,7 @@ class AccessOperator(models.Model):
|
||||||
class AccessUser(models.Model):
|
class AccessUser(models.Model):
|
||||||
user_url = models.CharField(_('access name'), unique=True, max_length=200,
|
user_url = models.CharField(_('access name'), unique=True, max_length=200,
|
||||||
help_text=_('Usually an URL to a profile somewhere'))
|
help_text=_('Usually an URL to a profile somewhere'))
|
||||||
author = models.ForeignKey(AccessOperator, on_delete=models.PROTECT, null=True, blank=True,
|
author = models.ForeignKey(User, on_delete=models.PROTECT, null=True, blank=True,
|
||||||
verbose_name=_('creator'))
|
verbose_name=_('creator'))
|
||||||
description = models.TextField(_('description'), max_length=200, blank=True)
|
description = models.TextField(_('description'), max_length=200, blank=True)
|
||||||
creation_date = models.DateTimeField(_('creation date'), auto_now_add=True)
|
creation_date = models.DateTimeField(_('creation date'), auto_now_add=True)
|
||||||
|
|
|
@ -49,4 +49,22 @@
|
||||||
<li class="next disabled"><a href="#">{% trans 'next' %} »</a></li>
|
<li class="next disabled"><a href="#">{% trans 'next' %} »</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
<form method="POST">
|
||||||
|
|
||||||
|
<div class="panel panel-default">
|
||||||
|
<div class="panel-body">
|
||||||
|
<h4>{% trans 'Add new access user' %}</h4>
|
||||||
|
<div class="row">
|
||||||
|
{% csrf_token %}
|
||||||
|
{% bootstrap_form new_user_form form_group_class='form-group col-md-4' %}
|
||||||
|
<div class="form-group col-md-4">
|
||||||
|
<label class="control-label"> </label>
|
||||||
|
<button type="submit" name="create" class="btn btn-primary btn-block btn-sm">{% trans 'Add new User' %}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</form>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -9,7 +9,7 @@ from django.shortcuts import get_object_or_404, redirect, render
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
|
|
||||||
from c3nav.access.apply import get_nonpublic_packages
|
from c3nav.access.apply import get_nonpublic_packages
|
||||||
from c3nav.access.forms import AccessTokenForm
|
from c3nav.access.forms import AccessTokenForm, AccessUserForm
|
||||||
from c3nav.access.models import AccessToken, AccessUser
|
from c3nav.access.models import AccessToken, AccessUser
|
||||||
from c3nav.editor.hosters import get_hoster_for_package
|
from c3nav.editor.hosters import get_hoster_for_package
|
||||||
|
|
||||||
|
@ -111,8 +111,20 @@ def user_list(request, page=1):
|
||||||
except EmptyPage:
|
except EmptyPage:
|
||||||
return redirect('access.users')
|
return redirect('access.users')
|
||||||
|
|
||||||
|
if request.method == 'POST':
|
||||||
|
new_user_form = AccessUserForm(data=request.POST)
|
||||||
|
if new_user_form.is_valid():
|
||||||
|
user = new_user_form.instance
|
||||||
|
user.author = request.user
|
||||||
|
user.save()
|
||||||
|
|
||||||
|
return redirect('access.user', pk=user.id)
|
||||||
|
else:
|
||||||
|
new_user_form = AccessUserForm()
|
||||||
|
|
||||||
return render(request, 'access/users.html', {
|
return render(request, 'access/users.html', {
|
||||||
'users': users,
|
'users': users,
|
||||||
|
'new_user_form': new_user_form,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue