#82: Merged fix of r364 from default branch into 1.2-dev branch.
This commit is contained in:
parent
9c13667ff0
commit
84e5b3d061
@ -34,6 +34,7 @@ class Profile(models.Model):
|
|||||||
group = models.CharField(max_length=100, null=True, blank=True, verbose_name = _("Group"))
|
group = models.CharField(max_length=100, null=True, blank=True, verbose_name = _("Group"))
|
||||||
type = models.CharField(max_length=100, choices=TYPE_CHOICE, blank=True, verbose_name = _("Typ"))
|
type = models.CharField(max_length=100, choices=TYPE_CHOICE, blank=True, verbose_name = _("Typ"))
|
||||||
committee = models.CharField(max_length=100, null=True, blank=True, verbose_name = _("Committee"))
|
committee = models.CharField(max_length=100, null=True, blank=True, verbose_name = _("Committee"))
|
||||||
|
comment = models.CharField(max_length=255, null=True, blank=True, verbose_name = _("Comment"))
|
||||||
firstpassword = models.CharField(max_length=100, null=True, blank=True, verbose_name = _("First Password"))
|
firstpassword = models.CharField(max_length=100, null=True, blank=True, verbose_name = _("First Password"))
|
||||||
|
|
||||||
|
|
||||||
|
@ -8,7 +8,9 @@
|
|||||||
<h1>{% trans 'Import participants' %}</h1>
|
<h1>{% trans 'Import participants' %}</h1>
|
||||||
<p>{% trans 'Select a CSV file to import participants!' %}</p>
|
<p>{% trans 'Select a CSV file to import participants!' %}</p>
|
||||||
|
|
||||||
<p>{% trans '(Required comma separated values: <code>first_name, last_name, gender, group, type, committee</code>)' %} </p>
|
<p>{% trans 'Required comma separated values: <code>first_name, last_name, gender, group, type, committee, comment</code>' %}<br>
|
||||||
|
{% trans 'CSV file encoding: UTF-8 (Unicode).' %}
|
||||||
|
</p>
|
||||||
<form enctype="multipart/form-data" action="" method="post">{% csrf_token %}
|
<form enctype="multipart/form-data" action="" method="post">{% csrf_token %}
|
||||||
{{ form.as_p }}
|
{{ form.as_p }}
|
||||||
<button class="button" type="submit">
|
<button class="button" type="submit">
|
||||||
|
@ -61,8 +61,7 @@
|
|||||||
<th><a href="?sort=type&reverse={% if 'type' in sortfilter.sort and 'reverse' not in sortfilter %}1{% else %}---{%endif%}">{%trans "Type" %}</a></th>
|
<th><a href="?sort=type&reverse={% if 'type' in sortfilter.sort and 'reverse' not in sortfilter %}1{% else %}---{%endif%}">{%trans "Type" %}</a></th>
|
||||||
<th><a href="?sort=committee&reverse={% if 'committee' in sortfilter.sort and 'reverse' not in sortfilter %}1{% else %}---{%endif%}">{%trans "Committee" %}</a></th>
|
<th><a href="?sort=committee&reverse={% if 'committee' in sortfilter.sort and 'reverse' not in sortfilter %}1{% else %}---{%endif%}">{%trans "Committee" %}</a></th>
|
||||||
{% if perms.participant.can_manage_participant %}
|
{% if perms.participant.can_manage_participant %}
|
||||||
<th><a href="?sort=username&reverse={% if 'username' in sortfilter.sort and 'reverse' not in sortfilter %}1{% else %}---{%endif%}">{%trans "Username" %}</a></th>
|
<th><a href="?sort=comment&reverse={% if 'comment' in sortfilter.sort and 'reverse' not in sortfilter %}1{% else %}---{%endif%}">{%trans "Comment" %}</a></th>
|
||||||
<th><a href="?sort=email&reverse={% if 'email' in sortfilter.sort and 'reverse' not in sortfilter %}1{% else %}---{%endif%}">{%trans "Email" %}</a></th>
|
|
||||||
<th><a href="?sort=last_login&reverse={% if 'last_login' in sortfilter.sort and 'reverse' not in sortfilter %}1{% else %}---{%endif%}">{%trans "Last Login" %}</a></th>
|
<th><a href="?sort=last_login&reverse={% if 'last_login' in sortfilter.sort and 'reverse' not in sortfilter %}1{% else %}---{%endif%}">{%trans "Last Login" %}</a></th>
|
||||||
<th>{%trans "Actions" %}</th>
|
<th>{%trans "Actions" %}</th>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -75,8 +74,7 @@
|
|||||||
<td>{{ user.profile.get_type_display }}</td>
|
<td>{{ user.profile.get_type_display }}</td>
|
||||||
<td>{{ user.profile.committee }}</td>
|
<td>{{ user.profile.committee }}</td>
|
||||||
{% if perms.participant.can_manage_participant %}
|
{% if perms.participant.can_manage_participant %}
|
||||||
<td>{{ user.username }}</td>
|
<td>{{ user.profile.comment }}</td>
|
||||||
<td>{{ user.email }}</td>
|
|
||||||
<td>{% if user.last_login > user.date_joined %}
|
<td>{% if user.last_login > user.date_joined %}
|
||||||
{{ user.last_login }}
|
{{ user.last_login }}
|
||||||
{% endif %}</td>
|
{% endif %}</td>
|
||||||
|
@ -83,9 +83,9 @@ def get_overview(request):
|
|||||||
if 'status' in sortfilter:
|
if 'status' in sortfilter:
|
||||||
query = query.filter(is_active=sortfilter['status'][0])
|
query = query.filter(is_active=sortfilter['status'][0])
|
||||||
if 'sort' in sortfilter:
|
if 'sort' in sortfilter:
|
||||||
if sortfilter['sort'][0] in ['first_name', 'last_name','username','last_login','email']:
|
if sortfilter['sort'][0] in ['first_name', 'last_name', 'last_login']:
|
||||||
query = query.order_by(sortfilter['sort'][0])
|
query = query.order_by(sortfilter['sort'][0])
|
||||||
elif sortfilter['sort'][0] in ['group', 'type', 'committee']:
|
elif sortfilter['sort'][0] in ['group', 'type', 'committee', 'comment']:
|
||||||
query = query.order_by('profile__%s' % sortfilter['sort'][0])
|
query = query.order_by('profile__%s' % sortfilter['sort'][0])
|
||||||
else:
|
else:
|
||||||
query = query.order_by('first_name')
|
query = query.order_by('first_name')
|
||||||
@ -339,7 +339,7 @@ def user_import(request):
|
|||||||
for line in csv.reader(request.FILES['csvfile'], dialect=dialect):
|
for line in csv.reader(request.FILES['csvfile'], dialect=dialect):
|
||||||
i += 1
|
i += 1
|
||||||
if i > 0:
|
if i > 0:
|
||||||
(first_name, last_name, gender, group, type, committee) = line[:6]
|
(first_name, last_name, gender, group, type, committee, comment) = line[:7]
|
||||||
user = User()
|
user = User()
|
||||||
user.last_name = last_name
|
user.last_name = last_name
|
||||||
user.first_name = first_name
|
user.first_name = first_name
|
||||||
@ -352,6 +352,7 @@ def user_import(request):
|
|||||||
profile.group = group
|
profile.group = group
|
||||||
profile.type = type
|
profile.type = type
|
||||||
profile.committee = committee
|
profile.committee = committee
|
||||||
|
profile.comment = comment
|
||||||
profile.firstpassword = gen_password()
|
profile.firstpassword = gen_password()
|
||||||
profile.user.set_password(profile.firstpassword)
|
profile.user.set_password(profile.firstpassword)
|
||||||
profile.save()
|
profile.save()
|
||||||
@ -364,6 +365,7 @@ def user_import(request):
|
|||||||
user.groups.add(observer)
|
user.groups.add(observer)
|
||||||
|
|
||||||
messages.success(request, _('%d new participants were successfully imported.') % i)
|
messages.success(request, _('%d new participants were successfully imported.') % i)
|
||||||
|
return redirect(reverse('user_overview'))
|
||||||
except csv.Error:
|
except csv.Error:
|
||||||
message.error(request, _('Import aborted because of severe errors in the input file.'))
|
message.error(request, _('Import aborted because of severe errors in the input file.'))
|
||||||
else:
|
else:
|
||||||
|
Loading…
Reference in New Issue
Block a user