Implement Web Assets' theme system and selection, and add 'light' theme #118

Merged
Márton Lente merged 97 commits from martonlente/extensions-website:ui/theme-light into main 2024-05-08 14:20:07 +02:00
3 changed files with 12 additions and 6 deletions
Showing only changes of commit 9cb16ac16b - Show all commits

View File

@ -10,7 +10,7 @@ import abuse.models
logger = logging.getLogger(__name__)
class ReportForm(forms.ModelForm):
class ReportExtensionForm(forms.ModelForm):
class Meta:
model = abuse.models.AbuseReport
fields = ('reason', 'version', 'message')
@ -35,3 +35,9 @@ class ReportForm(forms.ModelForm):
return compare.version(self.cleaned_data[field])
except ValidationError as e:
self.add_error(field, forms.ValidationError([e.message], code='invalid'))
class ReportRatingForm(forms.ModelForm):
class Meta:
model = abuse.models.AbuseReport
fields = ('reason', 'message')

View File

@ -18,7 +18,7 @@ urlpatterns = [
),
path(
'<slug:slug>/<str:version>/<int:rating>/report/',
views.ReportReviewView.as_view(),
views.ReportRatingView.as_view(),
name='report-ratings',
),
],

View File

@ -7,7 +7,7 @@ from django.views.generic.list import ListView
from django.views.generic.edit import CreateView
from django.shortcuts import get_object_or_404, redirect
from .forms import ReportForm
from .forms import ReportExtensionForm, ReportRatingForm
from constants.base import ABUSE_TYPE_EXTENSION, ABUSE_TYPE_RATING
from abuse.models import AbuseReport
from ratings.models import Rating
@ -40,7 +40,7 @@ class ReportExtensionView(
CreateView,
):
model = AbuseReport
form_class = ReportForm
form_class = ReportExtensionForm
def get(self, request, *args, **kwargs):
extension = get_object_or_404(Extension.objects.listed, slug=self.kwargs['slug'])
@ -69,14 +69,14 @@ class ReportExtensionView(
return self.object.get_absolute_url()
class ReportReviewView(
class ReportRatingView(
LoginRequiredMixin,
extensions.views.mixins.ListedExtensionMixin,
UserPassesTestMixin,
CreateView,
):
model = AbuseReport
form_class = ReportForm
form_class = ReportRatingForm
def test_func(self) -> bool:
# TODO: best to redirect to existing report or show a friendly message