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__) logger = logging.getLogger(__name__)
class ReportForm(forms.ModelForm): class ReportExtensionForm(forms.ModelForm):
class Meta: class Meta:
model = abuse.models.AbuseReport model = abuse.models.AbuseReport
fields = ('reason', 'version', 'message') fields = ('reason', 'version', 'message')
@ -35,3 +35,9 @@ class ReportForm(forms.ModelForm):
return compare.version(self.cleaned_data[field]) return compare.version(self.cleaned_data[field])
except ValidationError as e: except ValidationError as e:
self.add_error(field, forms.ValidationError([e.message], code='invalid')) 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( path(
'<slug:slug>/<str:version>/<int:rating>/report/', '<slug:slug>/<str:version>/<int:rating>/report/',
views.ReportReviewView.as_view(), views.ReportRatingView.as_view(),
name='report-ratings', 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.views.generic.edit import CreateView
from django.shortcuts import get_object_or_404, redirect 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 constants.base import ABUSE_TYPE_EXTENSION, ABUSE_TYPE_RATING
from abuse.models import AbuseReport from abuse.models import AbuseReport
from ratings.models import Rating from ratings.models import Rating
@ -40,7 +40,7 @@ class ReportExtensionView(
CreateView, CreateView,
): ):
model = AbuseReport model = AbuseReport
form_class = ReportForm form_class = ReportExtensionForm
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
extension = get_object_or_404(Extension.objects.listed, slug=self.kwargs['slug']) extension = get_object_or_404(Extension.objects.listed, slug=self.kwargs['slug'])
@ -69,14 +69,14 @@ class ReportExtensionView(
return self.object.get_absolute_url() return self.object.get_absolute_url()
class ReportReviewView( class ReportRatingView(
LoginRequiredMixin, LoginRequiredMixin,
extensions.views.mixins.ListedExtensionMixin, extensions.views.mixins.ListedExtensionMixin,
UserPassesTestMixin, UserPassesTestMixin,
CreateView, CreateView,
): ):
model = AbuseReport model = AbuseReport
form_class = ReportForm form_class = ReportRatingForm
def test_func(self) -> bool: def test_func(self) -> bool:
# TODO: best to redirect to existing report or show a friendly message # TODO: best to redirect to existing report or show a friendly message