Skip to content
Snippets Groups Projects
Verified Commit 5dd9146d authored by Tom Teichler's avatar Tom Teichler :beers:
Browse files

Add function to edit group. Closes #53.

parent f1e87f69
No related branches found
No related tags found
1 merge request!33Add function to edit group. Closes #53.
......@@ -62,3 +62,14 @@ class EditPersonForm(forms.ModelForm):
last_name=self.instance.last_name)
self.cleaned_data['user'] = new_user_obj
class EditGroupForm(forms.ModelForm):
members = forms.MultipleChoiceField(
choices=[(person.id, person.__str__) for person in Person.objects.all()])
owners = forms.MultipleChoiceField(
choices=[(person.id, person.__str__) for person in Person.objects.all()])
class Meta:
model = Group
fields = ['name', 'short_name', 'members', 'owners']
{% extends "core/base.html" %}
{% load bootstrap4 i18n %}
{% block page_title %}{% blocktrans %}Edit Group{% endblocktrans %}{% endblock %}
{% block content %}
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
{% bootstrap_form edit_group_form %}
<input type="submit" value="Edit" />
</form>
{% endblock %}
......@@ -7,7 +7,7 @@
{% if group %}
<h2>{{ group.name }} <small>{{ group.short_name }}</small></h2>
<p>
<a href="{{ '#' }}">
<a href="{% url 'edit_group_by_id' group.id %}">
{% blocktrans %}Edit group{% endblocktrans %}
</a>
</p>
......
......@@ -22,6 +22,7 @@ urlpatterns = [
path('groups', views.groups, name='groups'),
path('group/<int:id_>', views.group,
{'template': 'full'}, name='group_by_id'),
path('group/<int:id_>/edit', views.edit_group, name='edit_group_by_id'),
path('', views.index, name='index'),
path('maintenance-mode/', include('maintenance_mode.urls')),
path('__i18n__/', include('django.conf.urls.i18n'))
......
......@@ -141,6 +141,7 @@ def persons_accounts(request: HttpRequest) -> HttpResponse:
return render(request, 'core/persons_accounts.html', context)
@admin_required
def edit_person(request: HttpRequest, id_: int) -> HttpResponse:
context = {}
......@@ -161,3 +162,25 @@ def edit_person(request: HttpRequest, id_: int) -> HttpResponse:
context['edit_person_form'] = edit_person_form
return render(request, 'core/edit_person.html', context)
@admin_required
def edit_group(request: HttpRequest, id_: int) -> HttpResponse:
context = {}
group = get_object_or_404(Group, id=id_)
edit_group_form = EditPersonForm(request.POST or None, instance=group)
context['group'] = group
if request.method == 'POST':
if edit_group_form.is_valid():
edit_group_form.save(commit=True)
messages.success(request, _('The group has been saved.'))
return redirect('groups')
context['edit_group_form'] = edit_group_form
return render(request, 'core/edit_group.html', context)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment