diff --git a/src/backoffice/templates/backoffice/assembly_event.html b/src/backoffice/templates/backoffice/assembly_event.html index 4960c427639056e4f1964212db524ec26f316ebc..d38a6dfeaa9839b1a8e3b6e45d4e1a8011872cf2 100644 --- a/src/backoffice/templates/backoffice/assembly_event.html +++ b/src/backoffice/templates/backoffice/assembly_event.html @@ -1,5 +1,6 @@ {% extends 'backoffice/base.html' %} {% load bootstrap4 %} +{% load widget_tweaks %} {% load i18n %} {% block title %} @@ -9,6 +10,30 @@ {% block content %} {% include "backoffice/assembly_edit_header.html" %} +<div class="row mb-3"> + <div class="col-md-12"> + <div class="card border-secondary"> + <div class="card-header bg-default"> + {% trans 'Event__participants-title' %} + </div> + <div class="card-body"> + <h3>{% trans 'Event__participants' %}</h3> + <ul> + {% for participant in event.participants.all %} + <li>{{ participant }}</li> + {% endfor %} + </ul> + <h3>{% trans 'Event__speaker-assign-title' %}</h3> + <form class="form-inline" action="{% url 'backoffice:assembly-event-assign-speaker' assembly=assembly.pk pk=event.pk %}" method="POST">{% csrf_token %} + <label class="sr-only" for="nickname">Name</label> + {% render_field assign_form.nickname class+="form-control mb-2 mr-sm-2" placeholder="Nickname" %} + <button type="submit" class="btn btn-secondary mb-2">{% trans 'Event__speaker-assign-btn' %}</button> + </form> + </div> + </div> + </div> +</div> + <div class="row mb-3"> <div class="col-md-12"> <form action="" method="POST" enctype="multipart/form-data">{% csrf_token %} diff --git a/src/backoffice/urls.py b/src/backoffice/urls.py index 3100c50fa88e7f3afb1e8f27de7fa2e4c81e7347..b26ad75e816402b32279f8d298bd26658586e1d7 100644 --- a/src/backoffice/urls.py +++ b/src/backoffice/urls.py @@ -64,7 +64,7 @@ urlpatterns = [ path('assembly/<uuid:assembly>/events', events.AssemblyEventsView.as_view(), name='assembly-events'), path('assembly/<uuid:assembly>/e/<uuid:pk>/', events.AssemblyEventView.as_view(), name='assembly-event'), path('assembly/<uuid:assembly>/e/<uuid:pk>/remove', events.AssemblyRemoveEventView.as_view(), name='assembly-event-remove'), - path('assembly/<uuid:assembly>/e/<uuid:pk>/assign/speaker', events.AssignRoleView.as_view(), name='assembly-event-assign-speaker'), + path('assembly/<uuid:assembly>/e/<uuid:pk>/assign/speaker', events.AssignRoleView.as_view(), {'role': 'speaker',}, name='assembly-event-assign-speaker'), path('assembly/<uuid:assembly>/new_room', assemblies.CreateRoomView.as_view(), name='assembly-create-room'), path('assembly/<uuid:assembly>/new_project', assemblies.CreateProjectView.as_view(), name='assembly-create-project'), diff --git a/src/backoffice/views/events.py b/src/backoffice/views/events.py index a994b4c407103ac330a8abed976b889045f3d887..7c6adfdbdface8cce02d7f02ce693345a201a2e6 100644 --- a/src/backoffice/views/events.py +++ b/src/backoffice/views/events.py @@ -116,6 +116,9 @@ class AssemblyCreateEventView(AssemblyMixin, CreateView): class AssignRoleView(AssemblyMixin, FormView): + assembly_url_param = 'assembly' + assembly_management = True + form_class = AssignRoleForm def get_context_data(self, *args, **kwargs): @@ -136,10 +139,14 @@ class AssignRoleView(AssemblyMixin, FormView): user = get_object_or_404(PlatformUser, is_active=True, username=data['nickname']) event = get_object_or_404(Event, id=event_id) participant = EventParticipant(role=role, event=event, participant=user) + # I guess this is correct. + participant.is_accepted = True + participant.is_public = True + participant.save() messages.success(self.request, _('Event__Role-award-to') + str(user)) logger.info(f'assigned role { role } to { user } by { self.request.user } for { event }') - return redirect('backoffice:assembly-events', assembly=self.assembly.pk, pk=self.event_id) + return redirect('backoffice:assembly-event', assembly=self.assembly.pk, pk=event_id) except PlatformUser.DoesNotExist: messages.error(self.request, _('404__User Not Found: ') + data['nickname']) - return redirect('backoffice:assembly-events', assembly=self.assembly.pk, pk=self.event_id) \ No newline at end of file + return redirect('backoffice:assembly-event', assembly=self.assembly.pk, pk=event_id) \ No newline at end of file