From f0c21a012913ba9eb69e3c411f9a821a8fc65ff6 Mon Sep 17 00:00:00 2001 From: Tom Teichler <tom.teichler@teckids.org> Date: Sun, 20 Feb 2022 18:36:38 +0100 Subject: [PATCH] Remove feedback for now --- aleksis/apps/paweljong/filters.py | 7 +- aleksis/apps/paweljong/forms.py | 90 +-------------- aleksis/apps/paweljong/menus.py | 11 -- .../migrations/0009_remove_feedback.py | 27 +++++ aleksis/apps/paweljong/models.py | 62 ---------- aleksis/apps/paweljong/rules.py | 9 +- aleksis/apps/paweljong/tables.py | 14 --- .../templates/paweljong/event/feedback.html | 52 --------- .../paweljong/feedback_aspect/create.html | 13 --- .../paweljong/feedback_aspect/edit.html | 13 --- .../paweljong/feedback_aspect/list.html | 14 --- .../templated_email/event_created.email | 10 -- .../templated_email/event_feedback.html | 69 ------------ aleksis/apps/paweljong/urls.py | 16 --- aleksis/apps/paweljong/views.py | 106 +----------------- 15 files changed, 32 insertions(+), 481 deletions(-) create mode 100644 aleksis/apps/paweljong/migrations/0009_remove_feedback.py delete mode 100644 aleksis/apps/paweljong/templates/paweljong/event/feedback.html delete mode 100644 aleksis/apps/paweljong/templates/paweljong/feedback_aspect/create.html delete mode 100644 aleksis/apps/paweljong/templates/paweljong/feedback_aspect/edit.html delete mode 100644 aleksis/apps/paweljong/templates/paweljong/feedback_aspect/list.html delete mode 100644 aleksis/apps/paweljong/templates/templated_email/event_feedback.html diff --git a/aleksis/apps/paweljong/filters.py b/aleksis/apps/paweljong/filters.py index 3cbf0a0..321a2a2 100644 --- a/aleksis/apps/paweljong/filters.py +++ b/aleksis/apps/paweljong/filters.py @@ -5,7 +5,7 @@ from material import Layout, Row from aleksis.core.filters import MultipleCharFilter -from .models import Event, EventRegistration, FeedbackAspect, Voucher, Terms +from .models import Event, EventRegistration, Voucher, Terms class EventRegistrationFilter(FilterSet): @@ -48,11 +48,6 @@ class VoucherFilter(FilterSet): self.form.layout = Layout(Row("event", "name")) -class FeedbackAspectsFilter(FilterSet): - class Meta: - model = FeedbackAspect - fields = ["aspect"] - class TermsFilter(FilterSet): class Meta: model = Terms diff --git a/aleksis/apps/paweljong/forms.py b/aleksis/apps/paweljong/forms.py index 176fe16..2ae4ed7 100644 --- a/aleksis/apps/paweljong/forms.py +++ b/aleksis/apps/paweljong/forms.py @@ -11,7 +11,7 @@ from phonenumber_field.formfields import PhoneNumberField from aleksis.core.mixins import ExtensibleForm from aleksis.core.models import Group, Person -from .models import Event, EventRegistration, FeedbackAspect, Voucher, Terms +from .models import Event, EventRegistration, Voucher, Terms COMMENT_CHOICES = [ ("first", _("Only first name")), @@ -37,83 +37,6 @@ LICENCE_CHOICES = [ ] -class EventFeedbackForm(ExtensibleForm): - class Meta: - model = FeedbackAspect - fields = [] - - layout = Layout( - Fieldset( - _("Comments"), - Row("comment_private", "comment_public", "comment_public_info"), - ), - Fieldset( - _("Photos"), - Row("photos", "photos_licence"), - ), - Fieldset( - _("Feedback aspects"), - ), - ) - - comment_private = forms.CharField( - required=False, - label=_("Comment for the team"), - help_text=_( - "This comment is for the team only. You can write down everything you " - "would like to give us as feedback here." - ), - widget=forms.Textarea, - ) - - comment_public = forms.CharField( - required=False, - label=_("Comment for the website"), - help_text=_( - "This comment is for the report on our website. Tell in detail about what " - "you experienced, what you liked, what you learned and everything else " - "you can think of." - ), - widget=forms.Textarea, - ) - - comment_public_info = forms.ChoiceField( - label=_("Information in the comment"), - choices=COMMENT_CHOICES, - help_text=_("What information would you like to use to publish your comment?"), - ) - - photos = forms.ImageField( - label=_("Photos"), - widget=forms.ClearableFileInput(attrs={"multiple": True}), - required=False, - help_text=_( - "If you want to contribute photos to the report, you can upload them here. You can " - "select multiple files in most file selection dialogs with CTRL + click." - ), - ) - - photos_licence = forms.ChoiceField( - label=_("Photo licence"), - choices=LICENCE_CHOICES, - required=False, - help_text=_("If you upload photos, choose a license here."), - ) - - def __init__(self, event, request, *args, **kwargs): - super(EventFeedbackForm, self).__init__(*args, **kwargs) - self._event = event - - for aspect in event.feedback_aspects.all(): - field = forms.IntegerField( - widget=Stars, - required=False, - ) - self.fields[aspect.aspect] = field - node = Fieldset(f"{aspect.aspect}", f"{aspect.aspect}") - self.add_node_to_layout(node) - - class EditEventForm(ExtensibleForm): """Form to create or edit an event.""" @@ -125,7 +48,6 @@ class EditEventForm(ExtensibleForm): Row("place", "published"), Fieldset(_("Date data"), Row("date_event", "date_registration", "date_retraction")), Fieldset(_("Event details"), Row("cost", "max_participants"), "information"), - Fieldset(_("Feedback aspects"), "feedback_aspects"), Fieldset(_("Terms"), "terms"), ), ) @@ -143,7 +65,6 @@ class EditEventForm(ExtensibleForm): "date_retraction", "cost", "max_participants", - "feedback_aspects", "terms", "information", ] @@ -152,10 +73,6 @@ class EditEventForm(ExtensibleForm): search_fields=["name__icontains"], attrs={"data-minimum-input-length": 0, "class": "browser-default"}, ), - "feedback_aspects": ModelSelect2MultipleWidget( - search_fields=["aspect__icontains"], - attrs={"data-minimum-input-length": 0, "class": "browser-default"}, - ), "terms": ModelSelect2MultipleWidget( search_fields=["aspect__icontains"], attrs={"data-minimum-input-length": 0, "class": "browser-default"}, @@ -515,11 +432,6 @@ class EditEventRegistrationForm(forms.ModelForm): exclude = [] -class EditFeedbackAspectForm(forms.ModelForm): - class Meta: - model = FeedbackAspect - exclude = [] - class EditTermForm(forms.ModelForm): class Meta: model = Terms diff --git a/aleksis/apps/paweljong/menus.py b/aleksis/apps/paweljong/menus.py index ef8d028..0a8cb25 100644 --- a/aleksis/apps/paweljong/menus.py +++ b/aleksis/apps/paweljong/menus.py @@ -25,17 +25,6 @@ MENUS = { ) ], }, - { - "name": _("Feedback aspects"), - "url": "feedback_aspects", - "icon": "rate_review", - "validators": [ - ( - "aleksis.core.util.predicates.permission_validator", - "paweljong.view_feedback_aspects_rule", - ) - ], - }, { "name": _("Terms"), "url": "terms", diff --git a/aleksis/apps/paweljong/migrations/0009_remove_feedback.py b/aleksis/apps/paweljong/migrations/0009_remove_feedback.py new file mode 100644 index 0000000..bfc6f06 --- /dev/null +++ b/aleksis/apps/paweljong/migrations/0009_remove_feedback.py @@ -0,0 +1,27 @@ +# Generated by Django 3.2.12 on 2022-02-20 17:36 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('paweljong', '0008_remove_terms_from_event'), + ] + + operations = [ + migrations.RemoveField( + model_name='feedbackaspect', + name='site', + ), + migrations.RemoveField( + model_name='event', + name='feedback_aspects', + ), + migrations.DeleteModel( + name='EventFeedback', + ), + migrations.DeleteModel( + name='FeedbackAspect', + ), + ] diff --git a/aleksis/apps/paweljong/models.py b/aleksis/apps/paweljong/models.py index 7fa1cf9..d5f3eb9 100644 --- a/aleksis/apps/paweljong/models.py +++ b/aleksis/apps/paweljong/models.py @@ -11,13 +11,6 @@ from aleksis.core.models import Group, Person from aleksis.core.util.core_helpers import generate_random_code -class FeedbackAspect(ExtensibleModel): - aspect = models.CharField(max_length=100) - - def __str__(self) -> str: - return self.aspect - - class Terms(ExtensibleModel): title = models.CharField(max_length=255, verbose_name=_("Title")) term = RichTextField(verbose_name=_("Term")) @@ -47,14 +40,6 @@ class Event(ExtensibleModel): information = RichTextField(verbose_name=_("Information about the event")) terms = models.ManyToManyField(Terms, verbose_name=_("Terms"), related_name="event", blank=True) - # Feedback - feedback_aspects = models.ManyToManyField( - FeedbackAspect, - verbose_name=_("Feedback aspects"), - related_name="event", - blank=True, - ) - def __str__(self) -> str: return self.display_name @@ -91,53 +76,6 @@ class Event(ExtensibleModel): return self.linked_group.owners.all() -class EventFeedback(ExtensibleModel): - - COMMENT_CHOICES = [ - ("first", _("Only first name")), - ("first_age", _("First name and age")), - ("first_last_age", _("First name, last name and age")), - ] - - LICENCE_CHOICES = [ - ("CC-BY-4.0+", _("Creative Commons with attribution, 4.0 or later")), - ( - "CC-BY-SA-4.0+", - _( - "Creative Commons with attribution and distribution only" - "under the same conditions, 4.0 or later" - ), - ), - ] - - event = models.ForeignKey( - Event, on_delete=models.CASCADE, verbose_name=_("Event"), related_name="feedback" - ) - person = models.ForeignKey( - Person, on_delete=models.CASCADE, verbose_name=_("Person"), related_name="feedback" - ) - - comment_private = models.TextField(verbose_name=_("Private comment"), blank=True) - comment_public = models.TextField(verbose_name=_("Public comment"), blank=True) - comment_public_info = models.CharField( - choices=COMMENT_CHOICES, verbose_name=_("Information in the comment"), max_length=255 - ) - - photos = models.ImageField(verbose_name=_("Photos"), upload_to="feedback/", blank=True) - photos_licence = models.CharField( - choices=LICENCE_CHOICES, verbose_name=_("Photo licence"), max_length=255 - ) - - class Meta: - verbose_name = _("Event feedback") - verbose_name_plural = _("Event feedbacks") - constraints = [ - models.UniqueConstraint( - fields=["person", "event"], name="unique_person_feedback_per_event" - ) - ] - - class Voucher(ExtensibleModel): class Meta: verbose_name = _("Vouchers") diff --git a/aleksis/apps/paweljong/rules.py b/aleksis/apps/paweljong/rules.py index cb116a0..e82fe84 100644 --- a/aleksis/apps/paweljong/rules.py +++ b/aleksis/apps/paweljong/rules.py @@ -9,7 +9,7 @@ from aleksis.core.util.predicates import ( is_group_member, ) -from .models import Event, EventRegistration, FeedbackAspect, Voucher, Terms +from .models import Event, EventRegistration, Voucher, Terms from .predicates import ( is_own_registration, is_own_voucher, @@ -104,13 +104,6 @@ is_own_voucher_predicate = has_person & (is_own_voucher) rules.add_perm("paweljong.is_own_voucher_rule", is_own_voucher_predicate) -# View feedback aspects -view_feedback_aspects_predicate = has_person & ( - has_global_perm("paweljong.view_feedback_aspect") - | has_any_object("paweljong.view_feedback_aspect", FeedbackAspect) -) -rules.add_perm("paweljong.view_feedback_aspects_rule", view_feedback_aspects_predicate) - # View terms view_terms_predicate = has_person & ( has_global_perm("paweljong.view_term") diff --git a/aleksis/apps/paweljong/tables.py b/aleksis/apps/paweljong/tables.py index fa44166..f50337f 100644 --- a/aleksis/apps/paweljong/tables.py +++ b/aleksis/apps/paweljong/tables.py @@ -55,20 +55,6 @@ class EventRegistrationsTable(tables.Table): ) -class FeedbackAspectsTable(tables.Table): - class Meta: - attrs = {"class": "responsive-table highlight"} - - aspect = tables.Column() - - edit = tables.LinkColumn( - "edit_feedback_aspect_by_pk", - args=[A("id")], - verbose_name=_("Edit"), - text=_("Edit"), - ) - - class TermsTable(tables.Table): class Meta: attrs = {"class": "responsive-table highlight"} diff --git a/aleksis/apps/paweljong/templates/paweljong/event/feedback.html b/aleksis/apps/paweljong/templates/paweljong/event/feedback.html deleted file mode 100644 index 2993ea9..0000000 --- a/aleksis/apps/paweljong/templates/paweljong/event/feedback.html +++ /dev/null @@ -1,52 +0,0 @@ -{% extends "core/base.html" %} -{% load material_form i18n %} - -{% block page_title %}{% blocktrans %}Feedback on an event{% endblocktrans %}{% endblock %} -{% block browser_title %}{% blocktrans %}Feedback on an event{% endblocktrans %}{% endblock %} - -{% block extra_head %} - {{ form.media.css }} -{% endblock %} - -{% block content %} - <h5> - {% blocktrans %}Feedback on{% endblocktrans %} {{ event.display_name }} - </h5> - - <div class="row"> - <div class="col s12 m12"> - <div class="card info"> - <div class="card-content"> - <span class="card-title">{% blocktrans %}How does the feedback work?{% endblocktrans %}</span> - <p> - {% blocktrans %} - The feedback consists of three parts. - {% endblocktrans %} - </p> - <ul> - <li> - {% blocktrans %}Evaluation of the program points from 1 (not good) to 5 (very good){% endblocktrans %} - </li> - <li> - {% blocktrans %}Private commentary where you can tell us what you liked, what didn't, what we should do differently, etc.{% endblocktrans %} - </li> - <li> - {% blocktrans %}Comment for the report, which helps us and other children to learn as much as possible about the event. What you have experienced yourself is very interesting for the next participants!{% endblocktrans %} - </li> - </ul> - <p> - {% blocktrans %}Your feedback will be emailed to us. We may contact you again.{% endblocktrans %} - </p> - </div> - </div> - </div> - </div> - - <form method="post" enctype="multiform/formdata"> - {% csrf_token %} - {% form form=feedback_form %}{% endform %} - {% include "core/partials/save_button.html" %} - </form> - - {{ form.media.js }} -{% endblock %} diff --git a/aleksis/apps/paweljong/templates/paweljong/feedback_aspect/create.html b/aleksis/apps/paweljong/templates/paweljong/feedback_aspect/create.html deleted file mode 100644 index 60230d5..0000000 --- a/aleksis/apps/paweljong/templates/paweljong/feedback_aspect/create.html +++ /dev/null @@ -1,13 +0,0 @@ -{% extends "core/base.html" %} -{% load material_form i18n %} - -{% block page_title %}{% blocktrans %}Create feedback aspect{% endblocktrans %}{% endblock %} -{% block browser_title %}{% blocktrans %}Create feedback aspect{% endblocktrans %}{% endblock %} - -{% block content %} - <form method="post"> - {% csrf_token %} - {% form form=form %}{% endform %} - {% include "core/partials/save_button.html" %} - </form> -{% endblock %} diff --git a/aleksis/apps/paweljong/templates/paweljong/feedback_aspect/edit.html b/aleksis/apps/paweljong/templates/paweljong/feedback_aspect/edit.html deleted file mode 100644 index f6c3b89..0000000 --- a/aleksis/apps/paweljong/templates/paweljong/feedback_aspect/edit.html +++ /dev/null @@ -1,13 +0,0 @@ -{% extends "core/base.html" %} -{% load material_form i18n %} - -{% block page_title %}{% blocktrans %}Edit feedback aspect{% endblocktrans %}{% endblock %} -{% block browser_title %}{% blocktrans %}Edit feedback aspect{% endblocktrans %}{% endblock %} - -{% block content %} - <form method="post"> - {% csrf_token %} - {% form form=form %}{% endform %} - {% include "core/partials/save_button.html" %} - </form> -{% endblock %} diff --git a/aleksis/apps/paweljong/templates/paweljong/feedback_aspect/list.html b/aleksis/apps/paweljong/templates/paweljong/feedback_aspect/list.html deleted file mode 100644 index fef507e..0000000 --- a/aleksis/apps/paweljong/templates/paweljong/feedback_aspect/list.html +++ /dev/null @@ -1,14 +0,0 @@ -{% extends "core/base.html" %} -{% load material_form i18n %} - -{% load render_table from django_tables2 %} - -{% block page_title %}{% blocktrans %}Feedback aspects{% endblocktrans %}{% endblock %} -{% block browser_title %}{% blocktrans %}Feedback aspects{% endblocktrans %}{% endblock %} - -{% block content %} - - <a class="btn colour-primary waves-effect waves-light" href="{% url 'create_feedback_aspect' %}">{% trans "Create feedback aspect" %}</a> - {% render_table table %} - -{% endblock %} diff --git a/aleksis/apps/paweljong/templates/templated_email/event_created.email b/aleksis/apps/paweljong/templates/templated_email/event_created.email index d82ac83..ff48163 100644 --- a/aleksis/apps/paweljong/templates/templated_email/event_created.email +++ b/aleksis/apps/paweljong/templates/templated_email/event_created.email @@ -18,10 +18,6 @@ {% for owner in new_event.group.owners.all %} * {{ owner }} {% endfor %} - * {% trans "Feedback aspects" %}: - {% for aspect in new_event.feedback_aspects.all %} - * {{ aspect }} - {% endfor %} {% blocktrans with sender=person %} The event was created by {{ sender }} @@ -52,12 +48,6 @@ <li> {{ owner }}</li> {% endfor %} </ul> - <li> {% trans "Feedback aspects" %}</li> - <ul> - {% for aspect in new_event.feedback_aspects.all %} - <li> {{ aspect }}</li> - {% endfor %} - </ul> </ul> </blockquote> diff --git a/aleksis/apps/paweljong/templates/templated_email/event_feedback.html b/aleksis/apps/paweljong/templates/templated_email/event_feedback.html deleted file mode 100644 index 9d0e555..0000000 --- a/aleksis/apps/paweljong/templates/templated_email/event_feedback.html +++ /dev/null @@ -1,69 +0,0 @@ -{% load i18n %} - -{% block subject %} {% trans "New feedback on" %} {{ feedback.event }} {% endblock %} - -{% block plain %} - {% blocktrans with feedback.event=feedback.event %}New feedback on: {{ feedback.event }}{% endblocktrans %} - - *** {% trans "Event" %} ***** - - * {% trans "Event" %}: {{ feedback.event }} - - **** {% trans "Person " %} **** - - * {% trans "Name" %}: {{ feedback.person }} - * {% trans "Date of birth" %}: {{ feedback.person.date_of_birth }} - * {% trans "Email address" %}: {{ feedback.person.email }} - - **** {% trans "Comments" %} **** - - * {% trans "Private comment" %}: {{ feedback.comment_private }} - * {% trans "Public comment" %}: {{ feedback.comment_public }} - * {% trans "Public comment info" %}: {{ feedback.comment_public_info }} - - **** {% trans 'Photos' %} **** - - {% for photo in feedback.photos %} - * {{ photo }} - {% endfor %} - * {% trans "Photo licence" %}: {{ feedback.photos_licence }} - - - {% trans "Your AlekSIS team" %} -{% endblock %} - -{% block html %} -<main> - <p>{% blocktrans with new_feedback.event=new_feedback.event %}New feedback.event: {{ feedback.event}}{% endblocktrans %}</p> - - <blockquote> - <h5>{% trans "Event" %}</h5> - <ul> - <li>{% trans "Event" %}: {{ feedback.event.feedback.event }}</li> - </ul> - <h5>{% trans "Person" %</h5> - <ul> - <li>{% trans "Name" %}: {{ feedback.event.person }}</li> - <li>{% trans "Date of birth" %}: {{ feedback.event.date_of_birth }}</li> - <li>{% trans "Email address" %}: {{ feedback.event.person.email }}</li> - </ul> - <h5>{% trans "Comments" %}</h5> - <ul> - <li>{% trans "Private comment" %}: {{ feedback.comment_private }}</li> - <li>{% trans "Public comment" %}: {{ feedback.comment_public }}</li> - <li>{% trans "Public comment info" %}: {{ feedback.comment_public_info }}</li> - </ul> - <h5>{% trans "Photos" %}</h5> - {% for photo in feedback.photos %} - <img src="{{ photo }}" alt="Feedback photo"></img> - {% endfor %} - <ul> - <li>{% trans "Photo licence" %}: {{ feedback.photos_licence }}</li> - </ul> - </blockquote> - - <p> - <i>{% trans "Your AlekSIS team" %}</i> - </p> -</main> -{% endblock %} diff --git a/aleksis/apps/paweljong/urls.py b/aleksis/apps/paweljong/urls.py index 6b3ac9d..89ef768 100644 --- a/aleksis/apps/paweljong/urls.py +++ b/aleksis/apps/paweljong/urls.py @@ -28,7 +28,6 @@ condition_dict = { urlpatterns = [ path("event/<slug:slug>/edit", views.EditEventView.as_view(), name="edit_event_by_slug"), - path("event/<slug:slug>/feedback", views.feedback_event, name="feedback_event_by_slug"), path( "event/<slug:slug>/register", views.RegisterEventWizardView.as_view(register_forms, condition_dict=condition_dict), @@ -63,21 +62,6 @@ urlpatterns = [ views.EventRegistrationDeleteView.as_view(), name="delete_registration_by_pk", ), - path( - "event/feedback_aspects/list", - views.FeedbackAspectListView.as_view(), - name="feedback_aspects", - ), - path( - "event/feedback_aspects/create", - views.FeedbackAspectCreateView.as_view(), - name="create_feedback_aspect", - ), - path( - "event/feedback_aspects/<int:pk>/edit", - views.FeedbackAspectEditView.as_view(), - name="edit_feedback_aspect_by_pk", - ), path( "event/terms/list", views.TermListView.as_view(), diff --git a/aleksis/apps/paweljong/views.py b/aleksis/apps/paweljong/views.py index 7776be6..f76d22f 100644 --- a/aleksis/apps/paweljong/views.py +++ b/aleksis/apps/paweljong/views.py @@ -29,75 +29,16 @@ from .filters import EventFilter, EventRegistrationFilter, VoucherFilter, TermsF from .forms import ( EditEventForm, EditEventRegistrationForm, - EditFeedbackAspectForm, EditVoucherForm, - EventFeedbackForm, GenerateListForm, EditTermForm, ) -from .models import Event, EventRegistration, FeedbackAspect, Voucher, Terms -from .tables import EventRegistrationsTable, FeedbackAspectsTable, ManageEventsTable, VouchersTable, TermsTable +from .models import Event, EventRegistration, Voucher, Terms +from .tables import EventRegistrationsTable, ManageEventsTable, VouchersTable, TermsTable User = get_user_model() -@login_required -def feedback_event(request, slug): - context = {} - - # Get current person and event - current_person = request.user.person - event = Event.objects.get(linked_group__short_name=slug) - context["event"] = event - - # Prepare the form - initial = { - "event": event, - "person": current_person, - } - - feedback_form = EventFeedbackForm(event, initial=initial) - - # Check whether person is a member of the event - if current_person not in event.linked_group.members.all(): - return redirect("index") - messages.error(request, _("You did not take part in this event.")) - - if request.method == "POST": - if feedback_form.is_valid(): - feedback = feedback_form.save(commit=True) - context["feedback"] = feedback - # Handle photo uploads, if any - - send_templated_mail( - template_name="event_feedback", - from_email=lazy_preference("mail", "address"), - recipient_list=["verein@teckids.org"], - headers={ - "reply_to": [ - request.person.email, - ], - }, - context=context, - ) - - # Set success - messages.success(request, _("Feedback successfully submitted.")) - return redirect("index") - - act = Activity( - title=_("You submitted feedback"), - description=_("You submitted feedback for %s" % event.display_name), - app="Paweljong", - user=request.user.person, - ) - act.save() - - context["feedback_form"] = feedback_form - - return render(request, "paweljong/event/feedback.html", context) - - @method_decorator(never_cache, name="dispatch") class CreateEventView(PermissionRequiredMixin, AdvancedCreateView): form_class = EditEventForm @@ -261,39 +202,6 @@ def print_voucher(request: HttpRequest, pk) -> HttpResponse: return render(request, "paweljong/print/voucher.html", context) -class FeedbackAspectListView(PermissionRequiredMixin, SingleTableView): - """Table of all feedback aspects.""" - - model = FeedbackAspect - table_class = FeedbackAspectsTable - permission_required = "paweljong.view_feedback_aspects" - template_name = "paweljong/feedback_aspect/list.html" - - -@method_decorator(never_cache, name="dispatch") -class FeedbackAspectCreateView(PermissionRequiredMixin, AdvancedCreateView): - """Create view for feedback aspects.""" - - model = FeedbackAspect - form_class = EditFeedbackAspectForm - permission_required = "paweljong.add_feedback_aspects" - template_name = "paweljong/feedback_aspect/create.html" - success_url = reverse_lazy("feedback_aspects") - success_message = _("The feedback aspect has been created.") - - -@method_decorator(never_cache, name="dispatch") -class FeedbackAspectEditView(PermissionRequiredMixin, AdvancedEditView): - """Edit view for feedback aspects.""" - - model = FeedbackAspect - form_class = EditFeedbackAspectForm - permission_required = "paweljong.edit_feedback_aspects" - template_name = "paweljong/feedback_aspect/edit.html" - success_url = reverse_lazy("feedback_aspects") - success_message = _("The feedback aspect has been saved.") - - class EventRegistrationDetailView(PermissionRequiredMixin, DetailView): """Detail view for an application instance.""" @@ -305,16 +213,6 @@ class EventRegistrationDetailView(PermissionRequiredMixin, DetailView): return EventRegistration.objects.all() -class FeedbackAspectDeleteView(PermissionRequiredMixin, AdvancedDeleteView): - """Delete view for dashboard widgets.""" - - model = FeedbackAspect - permission_required = "paweljong.delete_feedbackaspect" - template_name = "core/pages/delete.html" - success_url = reverse_lazy("feedback_aspects") - success_message = _("The feedback aspect has been deleted.") - - class EventRegistrationDeleteView(PermissionRequiredMixin, AdvancedDeleteView): """Delete view for registrations.""" -- GitLab