From 8eb9accb3fa19be3bbde8e3583c95d5489427ecb Mon Sep 17 00:00:00 2001 From: Konrad Date: Thu, 27 Feb 2025 19:44:33 +0100 Subject: [PATCH 1/6] added sorting to same date quotes --- src/internal/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/internal/views.py b/src/internal/views.py index d846bb07e..5890e6e77 100644 --- a/src/internal/views.py +++ b/src/internal/views.py @@ -286,7 +286,7 @@ class QuoteListView(ListView): model = Quote template_name = 'internal/quote_list.html' context_object_name = 'quotes' - queryset = Quote.objects.order_by('-date').select_related('author') + queryset = Quote.objects.order_by('-date', '-id').select_related('author') class QuoteFormMixin(CustomFieldsetFormMixin, ABC): From 3495f0ecc732907fea2413bb83c394c861e5dd4c Mon Sep 17 00:00:00 2001 From: Konrad Date: Thu, 16 Oct 2025 16:20:07 +0200 Subject: [PATCH 2/6] Changed date to datetime --- src/internal/forms.py | 6 ++--- .../migrations/0027_alter_quote_date.py | 27 +++++++++++++++++++ src/internal/models.py | 4 +-- .../templates/internal/quote_list.html | 2 +- src/internal/tests/test_urls.py | 4 +-- src/internal/views.py | 2 +- 6 files changed, 36 insertions(+), 9 deletions(-) create mode 100644 src/internal/migrations/0027_alter_quote_date.py diff --git a/src/internal/forms.py b/src/internal/forms.py index 8918a8528..be10fa362 100644 --- a/src/internal/forms.py +++ b/src/internal/forms.py @@ -5,7 +5,7 @@ from card import utils as card_utils from card.formfields import CardNumberField from users.models import User -from web.widgets import SemanticDateInput, SemanticMultipleSelectInput, SemanticSearchableChoiceInput +from web.widgets import SemanticDateInput, SemanticDateTimeInput, SemanticMultipleSelectInput, SemanticSearchableChoiceInput from .models import Member, Quote, Secret, SystemAccess @@ -172,7 +172,7 @@ class Meta: class QuoteForm(forms.ModelForm): class Meta: model = Quote - fields = ('quote', 'quoted', 'context', 'date') + fields = ('quote', 'quoted', 'context', 'dateTime') widgets = { - 'date': SemanticDateInput(), + 'dateTime': SemanticDateTimeInput(), } diff --git a/src/internal/migrations/0027_alter_quote_date.py b/src/internal/migrations/0027_alter_quote_date.py new file mode 100644 index 000000000..1668ea490 --- /dev/null +++ b/src/internal/migrations/0027_alter_quote_date.py @@ -0,0 +1,27 @@ +# Generated by Django 4.2.9 on 2025-10-09 15:44 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('internal', '0026_add_secret_permissions'), + ] + + operations = [ + migrations.RenameField( + model_name='quote', + old_name='date', + new_name='dateTime', + ), + migrations.AlterField( + model_name='quote', + name='dateTime', + field=models.DateTimeField(verbose_name='dateTime'), + ), + migrations.AlterModelOptions( + name='quote', + options={'ordering': ('-dateTime',)}, + ), + ] diff --git a/src/internal/models.py b/src/internal/models.py index c01bbed0b..5c744e911 100644 --- a/src/internal/models.py +++ b/src/internal/models.py @@ -300,7 +300,7 @@ class Quote(models.Model): quote = models.TextField(verbose_name=_("quote")) quoted = models.CharField(max_length=100, verbose_name=_("quoted"), help_text=_("The person who is quoted.")) context = models.TextField(blank=True, max_length=500, verbose_name=_("context")) - date = models.DateField(verbose_name=_("date")) + dateTime = models.DateTimeField(verbose_name=_("dateTime")) author = models.ForeignKey( to=User, on_delete=models.CASCADE, @@ -309,7 +309,7 @@ class Quote(models.Model): ) class Meta: - ordering = ('-date',) + ordering = ('-dateTime',) def __str__(self): return _("“{quote}” —{quoted}").format(quote=self.quote, quoted=self.quoted) diff --git a/src/internal/templates/internal/quote_list.html b/src/internal/templates/internal/quote_list.html index 433536ffa..7fdb4ba6c 100644 --- a/src/internal/templates/internal/quote_list.html +++ b/src/internal/templates/internal/quote_list.html @@ -43,7 +43,7 @@

- {{ quote.date }} + {{ quote.dateTime }}
diff --git a/src/internal/tests/test_urls.py b/src/internal/tests/test_urls.py index ba8ed72e3..e6a891c49 100644 --- a/src/internal/tests/test_urls.py +++ b/src/internal/tests/test_urls.py @@ -58,9 +58,9 @@ def setUp(self): self.secret2 = Secret.objects.create(title="YouTube account", content="

Email: make@gmail.com

Password: password

") self.secrets = (self.secret1, self.secret2) - self.quote1 = Quote.objects.create(quote="Ha ha.", quoted="Human 1", author=member_user, date="2022-02-02") + self.quote1 = Quote.objects.create(quote="Ha ha.", quoted="Human 1", author=member_user, dateTime="2022-02-02") self.quote2 = Quote.objects.create(quote="I like human humor.", quoted="Human 2", author=member_editor_user, - date="2022-02-02") + dateTime="2022-02-02") self.quotes = (self.quote1, self.quote2) @staticmethod diff --git a/src/internal/views.py b/src/internal/views.py index 5890e6e77..fa58529ce 100644 --- a/src/internal/views.py +++ b/src/internal/views.py @@ -286,7 +286,7 @@ class QuoteListView(ListView): model = Quote template_name = 'internal/quote_list.html' context_object_name = 'quotes' - queryset = Quote.objects.order_by('-date', '-id').select_related('author') + queryset = Quote.objects.order_by('-dateTime').select_related('author') class QuoteFormMixin(CustomFieldsetFormMixin, ABC): From 1363748bd312d135f52a23eca9f0c3d364610aa0 Mon Sep 17 00:00:00 2001 From: Konrad Date: Thu, 30 Oct 2025 16:40:02 +0100 Subject: [PATCH 3/6] improved variable name --- src/internal/forms.py | 4 ++-- src/internal/migrations/0027_alter_quote_date.py | 8 ++++---- src/internal/models.py | 4 ++-- src/internal/templates/internal/quote_list.html | 2 +- src/internal/views.py | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/internal/forms.py b/src/internal/forms.py index be10fa362..0ac957730 100644 --- a/src/internal/forms.py +++ b/src/internal/forms.py @@ -172,7 +172,7 @@ class Meta: class QuoteForm(forms.ModelForm): class Meta: model = Quote - fields = ('quote', 'quoted', 'context', 'dateTime') + fields = ('quote', 'quoted', 'context', 'time') widgets = { - 'dateTime': SemanticDateTimeInput(), + 'time': SemanticDateTimeInput(), } diff --git a/src/internal/migrations/0027_alter_quote_date.py b/src/internal/migrations/0027_alter_quote_date.py index 1668ea490..a8a28e4f4 100644 --- a/src/internal/migrations/0027_alter_quote_date.py +++ b/src/internal/migrations/0027_alter_quote_date.py @@ -13,15 +13,15 @@ class Migration(migrations.Migration): migrations.RenameField( model_name='quote', old_name='date', - new_name='dateTime', + new_name='time', ), migrations.AlterField( model_name='quote', - name='dateTime', - field=models.DateTimeField(verbose_name='dateTime'), + name='time', + field=models.DateTimeField(verbose_name='Time it was said'), ), migrations.AlterModelOptions( name='quote', - options={'ordering': ('-dateTime',)}, + options={'ordering': ('-time',)}, ), ] diff --git a/src/internal/models.py b/src/internal/models.py index 5c744e911..5e5e66227 100644 --- a/src/internal/models.py +++ b/src/internal/models.py @@ -300,7 +300,7 @@ class Quote(models.Model): quote = models.TextField(verbose_name=_("quote")) quoted = models.CharField(max_length=100, verbose_name=_("quoted"), help_text=_("The person who is quoted.")) context = models.TextField(blank=True, max_length=500, verbose_name=_("context")) - dateTime = models.DateTimeField(verbose_name=_("dateTime")) + time = models.DateTimeField(verbose_name=_("Time it was said")) author = models.ForeignKey( to=User, on_delete=models.CASCADE, @@ -309,7 +309,7 @@ class Quote(models.Model): ) class Meta: - ordering = ('-dateTime',) + ordering = ('-time',) def __str__(self): return _("“{quote}” —{quoted}").format(quote=self.quote, quoted=self.quoted) diff --git a/src/internal/templates/internal/quote_list.html b/src/internal/templates/internal/quote_list.html index 7fdb4ba6c..9d4383e2e 100644 --- a/src/internal/templates/internal/quote_list.html +++ b/src/internal/templates/internal/quote_list.html @@ -43,7 +43,7 @@

- {{ quote.dateTime }} + {{ quote.time }}
diff --git a/src/internal/views.py b/src/internal/views.py index fa58529ce..8b1b57910 100644 --- a/src/internal/views.py +++ b/src/internal/views.py @@ -286,7 +286,7 @@ class QuoteListView(ListView): model = Quote template_name = 'internal/quote_list.html' context_object_name = 'quotes' - queryset = Quote.objects.order_by('-dateTime').select_related('author') + queryset = Quote.objects.order_by('-time').select_related('author') class QuoteFormMixin(CustomFieldsetFormMixin, ABC): From 7012ccf474b7be9f8b9409bfc807588ddcd1a923 Mon Sep 17 00:00:00 2001 From: Konrad Date: Thu, 30 Oct 2025 16:55:10 +0100 Subject: [PATCH 4/6] made messages --- .../migrations/0027_alter_quote_date.py | 2 +- src/internal/models.py | 2 +- src/locale/nb/LC_MESSAGES/django.mo | Bin 52447 -> 52836 bytes src/locale/nb/LC_MESSAGES/django.po | 183 +++++++++--------- 4 files changed, 97 insertions(+), 90 deletions(-) diff --git a/src/internal/migrations/0027_alter_quote_date.py b/src/internal/migrations/0027_alter_quote_date.py index a8a28e4f4..c2a41aef1 100644 --- a/src/internal/migrations/0027_alter_quote_date.py +++ b/src/internal/migrations/0027_alter_quote_date.py @@ -18,7 +18,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='quote', name='time', - field=models.DateTimeField(verbose_name='Time it was said'), + field=models.DateTimeField(verbose_name='-time it was said'), ), migrations.AlterModelOptions( name='quote', diff --git a/src/internal/models.py b/src/internal/models.py index 5e5e66227..8e78db31e 100644 --- a/src/internal/models.py +++ b/src/internal/models.py @@ -300,7 +300,7 @@ class Quote(models.Model): quote = models.TextField(verbose_name=_("quote")) quoted = models.CharField(max_length=100, verbose_name=_("quoted"), help_text=_("The person who is quoted.")) context = models.TextField(blank=True, max_length=500, verbose_name=_("context")) - time = models.DateTimeField(verbose_name=_("Time it was said")) + time = models.DateTimeField(verbose_name=_("time it was said")) author = models.ForeignKey( to=User, on_delete=models.CASCADE, diff --git a/src/locale/nb/LC_MESSAGES/django.mo b/src/locale/nb/LC_MESSAGES/django.mo index e1560e2289a14e39db6a0da0b3f6db445c640092..01a7f11bae22a52e1b57f5be63d5251b217ee8fa 100644 GIT binary patch delta 14562 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 delta 14178 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 IoT-!Le?E3GX#fBK diff --git a/src/locale/nb/LC_MESSAGES/django.po b/src/locale/nb/LC_MESSAGES/django.po index d46c8b205..0bea57da9 100644 --- a/src/locale/nb/LC_MESSAGES/django.po +++ b/src/locale/nb/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: MAKE NTNU website\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-03-05 10:50+0100\n" +"POT-Creation-Date: 2025-10-30 16:50+0100\n" "PO-Revision-Date: 2018-10-09 14:05+0200\n" "Last-Translator: Sindre Stephansen \n" "Language-Team: Norwegian Bokmål \n" @@ -54,7 +54,7 @@ msgstr "" "vises på forsiden." #: src/announcements/models.py:53 src/contentbox/models.py:21 -#: src/docs/models.py:51 src/make_queue/models/machine.py:206 +#: src/docs/models.py:51 src/make_queue/models/machine.py:207 #: src/news/models.py:40 msgid "content" msgstr "innhold" @@ -323,7 +323,7 @@ msgid "Register" msgstr "Registrer" #: src/checkin/templates/checkin/profile_detail_internal.html:97 -#: src/internal/forms.py:43 src/make_queue/forms/course.py:68 +#: src/internal/forms.py:43 src/make_queue/forms/course.py:72 msgid "Card number is already in use" msgstr "Kortnummeret er allerede i bruk" @@ -337,15 +337,15 @@ msgstr "Kontakt %(email)s for å fikse problemet." msgid "People with these skills are at
Makerverkstedet right now" msgstr "Folk med disse ferdighetene er på
Makerverkstedet akkurat nå" -#: src/checkin/views.py:120 +#: src/checkin/views.py:115 msgid "You have completed the 3D printer course" msgstr "Du har fullført 3D-printerkurset" -#: src/checkin/views.py:121 +#: src/checkin/views.py:116 msgid "You have not taken the 3D printer course" msgstr "Du har ikke tatt 3D-printerkurset" -#: src/checkin/views.py:123 +#: src/checkin/views.py:118 msgid "" "To use a 3D printer, make a reservation in the calendar of one of the 3D " "printers on the “Reservations” page." @@ -353,15 +353,15 @@ msgstr "" "For å bruke en 3D-printer, lag en reservasjon i kalenderen til en av 3D-" "printerne på «Reservasjoner»-siden." -#: src/checkin/views.py:132 +#: src/checkin/views.py:124 msgid "You have completed the {} course" msgstr "Du har fullført {}kurset" -#: src/checkin/views.py:133 +#: src/checkin/views.py:126 msgid "You have not taken the {} course" msgstr "Du har ikke tatt {}kurset" -#: src/checkin/views.py:135 +#: src/checkin/views.py:128 msgid "" "To use a {}, make a reservation in the calendar of one of the {}s on the " "“Reservations” page." @@ -369,15 +369,15 @@ msgstr "" "For å bruke en {}, lag en reservasjon i kalenderen til en av {}ne på " "«Reservasjoner»-siden." -#: src/checkin/views.py:175 src/checkin/views.py:178 +#: src/checkin/views.py:170 src/checkin/views.py:173 msgid "Enter both norwegian and english skill name" msgstr "Skriv inn tittel på både norsk og engelsk" -#: src/checkin/views.py:185 +#: src/checkin/views.py:180 msgid "Skill already exists!" msgstr "Ferdigheten finnes allerede!" -#: src/checkin/views.py:203 +#: src/checkin/views.py:198 msgid "Skill added!" msgstr "Ferdighet lagt til!" @@ -404,9 +404,9 @@ msgstr "Ekstra rettigheter som kreves for å kunne endre på innholdsboksen." #: src/internal/models.py:62 src/internal/models.py:208 #: src/internal/models.py:280 #: src/internal/templates/internal/secret_list.html:67 -#: src/make_queue/models/course.py:15 src/make_queue/models/course.py:46 -#: src/make_queue/models/machine.py:153 -#: src/make_queue/models/machine.py:207 +#: src/make_queue/models/course.py:23 src/make_queue/models/course.py:54 +#: src/make_queue/models/machine.py:154 +#: src/make_queue/models/machine.py:208 #: src/make_queue/models/reservation.py:313 src/makerspace/models.py:33 #: src/news/models.py:51 src/news/models.py:207 msgid "last modified" @@ -697,7 +697,7 @@ msgid "clickbait" msgstr "lokketekst" #: src/groups/models.py:107 src/internal/models.py:263 -#: src/make_queue/models/course.py:14 src/makerspace/models.py:24 +#: src/make_queue/models/course.py:22 src/makerspace/models.py:24 msgid "description" msgstr "beskrivelse" @@ -738,7 +738,7 @@ msgstr "Administrasjonsside for komiteer" msgid "Change {committee}" msgstr "Endre {committee}" -#: src/internal/admin.py:21 src/make_queue/models/course.py:39 +#: src/internal/admin.py:21 src/make_queue/models/course.py:47 msgid "full name" msgstr "fullt navn" @@ -787,7 +787,7 @@ msgstr "" "«pang»." #: src/internal/models.py:31 src/make_queue/forms/quota.py:19 -#: src/make_queue/models/course.py:36 +#: src/make_queue/models/course.py:44 #: src/make_queue/models/reservation.py:31 src/news/admin.py:306 #: src/news/models.py:250 #: src/news/templates/admin/news/event/change_form_ticket_table.html:16 @@ -945,7 +945,7 @@ msgid "Access for {member} to {name}: {has_access}" msgstr "Tilgang for {member} til {name}: {has_access}" #: src/internal/models.py:267 src/make_queue/models/machine.py:44 -#: src/make_queue/models/machine.py:149 src/makerspace/models.py:30 +#: src/make_queue/models/machine.py:150 src/makerspace/models.py:30 msgid "priority" msgstr "prioritet" @@ -978,13 +978,8 @@ msgid "context" msgstr "kontekst" #: src/internal/models.py:303 -#: src/make_queue/templates/make_queue/course/printer_3d_course_list.html:100 -#: src/make_queue/views/course.py:125 -#: src/news/templates/news/event/event_list_contents.html:26 -#: src/web/templates/web/forms/widgets/semantic_date.html:11 -#: src/web/templates/web/forms/widgets/semantic_datetime.html:11 -msgid "date" -msgstr "dato" +msgid "time it was said" +msgstr "tidspunkt det ble sagt" #: src/internal/models.py:308 msgid "author" @@ -1105,7 +1100,7 @@ msgstr "Filtrer komiteer" #: src/internal/templates/internal/member_list.html:132 #: src/internal/templates/internal/member_list.html:268 -#: src/make_queue/models/course.py:12 src/make_queue/models/machine.py:120 +#: src/make_queue/models/course.py:21 src/make_queue/models/machine.py:121 #: src/make_queue/templates/make_queue/course/printer_3d_course_list.html:97 #: src/make_queue/views/course.py:122 msgid "name" @@ -1118,7 +1113,7 @@ msgstr "komité" #: src/internal/templates/internal/member_list.html:141 #: src/internal/templates/internal/member_list.html:350 -#: src/make_queue/models/course.py:44 src/make_queue/models/machine.py:140 +#: src/make_queue/models/course.py:52 src/make_queue/models/machine.py:141 #: src/make_queue/templates/make_queue/course/printer_3d_course_list.html:101 #: src/make_queue/templates/make_queue/machine_detail.html:100 msgid "status" @@ -1139,7 +1134,7 @@ msgstr "Sluttdato" #: src/internal/templates/internal/member_list.html:190 #: src/internal/templatetags/member.py:48 -#: src/make_queue/templates/make_queue/course/printer_3d_course_form.html:109 +#: src/make_queue/templates/make_queue/course/printer_3d_course_form.html:108 #: src/news/admin.py:263 src/util/admin_utils.py:113 msgid "Yes" msgstr "Ja" @@ -1287,28 +1282,32 @@ msgstr "Legg til sitat" msgid "Change Quote" msgstr "Endre sitat" -#: src/make_queue/admin.py:22 +#: src/make_queue/admin.py:24 #: src/make_queue/templates/make_queue/machine_list.html:7 #: src/make_queue/templates/make_queue/machine_list.html:19 #: src/make_queue/templates/make_queue/reservation_list.html:44 msgid "machines" msgstr "maskiner" -#: src/make_queue/admin.py:46 src/make_queue/models/machine.py:136 +#: src/make_queue/admin.py:48 src/make_queue/models/machine.py:137 #: src/make_queue/templates/make_queue/machine_detail.html:79 #: src/news/admin.py:238 src/news/models.py:202 msgid "location" msgstr "sted" -#: src/make_queue/api/views.py:139 +#: src/make_queue/admin.py:100 src/make_queue/models/course.py:53 +msgid "course permissions" +msgstr "kurs tillatelser" + +#: src/make_queue/api/views.py:140 msgid "Cannot mark reservation as finished when it has not started yet." msgstr "Kan ikke sette reservasjonen som ferdig når den ikke har startet ennå." -#: src/make_queue/api/views.py:141 +#: src/make_queue/api/views.py:142 msgid "Cannot mark reservation as finished when it has already ended." msgstr "Kan ikke sette reservasjonen som ferdig når den allerede er over." -#: src/make_queue/api/views.py:165 +#: src/make_queue/api/views.py:166 msgid "" "Cannot delete reservation when it has already started. Mark it as finished " "instead." @@ -1316,7 +1315,7 @@ msgstr "" "Kan ikke slette reservasjonen når den allerede har startet. Sett den som " "ferdig istedenfor." -#: src/make_queue/api/views.py:167 +#: src/make_queue/api/views.py:168 msgid "Cannot delete reservation when it has already ended." msgstr "Kan ikke slette reservasjonen når den allerede er over." @@ -1328,7 +1327,7 @@ msgstr "Velg bruker" #. Translators: See the Norwegian and English versions of this page for #. a translation of "Building security": #. https://i.ntnu.no/wiki/-/wiki/Norsk/Vakt+og+service+p%C3%A5+campus -#: src/make_queue/forms/course.py:56 +#: src/make_queue/forms/course.py:55 msgid "" "The card number was detected to be the phone number of Building security at " "NTNU. Please enter a valid card number." @@ -1338,7 +1337,7 @@ msgstr "" #: src/make_queue/forms/machine.py:20 src/make_queue/forms/quota.py:24 #: src/make_queue/forms/reservation.py:66 -#: src/make_queue/models/machine.py:134 +#: src/make_queue/models/machine.py:135 #: src/make_queue/models/reservation.py:37 #: src/make_queue/models/reservation.py:304 #: src/make_queue/templates/make_queue/machine_detail.html:86 @@ -1388,44 +1387,56 @@ msgid "Rule time periods overlap with time periods of other rules." msgstr "" "Tidsperiodene til regelen overlapper med tidsperiodene til andre regler." -#: src/make_queue/models/course.py:13 +#: src/make_queue/models/course.py:15 +msgid "Only has to be logged in" +msgstr "Trenger bare å være innlogget" + +#: src/make_queue/models/course.py:16 +msgid "Taken the 3D printer course" +msgstr "Tatt 3D-printerkurset" + +#: src/make_queue/models/course.py:17 +msgid "Taken the course on Raise3D printers" +msgstr "Tatt Raise3D-printerkurset" + +#: src/make_queue/models/course.py:18 +msgid "Taken the SLA 3D printer course" +msgstr "Tatt SLA 3D-printerkurset" + +#: src/make_queue/models/course.py:20 msgid "short name" msgstr "kort navn" -#: src/make_queue/models/course.py:24 +#: src/make_queue/models/course.py:32 msgid "Registered" msgstr "Registrert" #. Translators: See the Norwegian and English versions of this page for #. a translation of "Building security": #. https://i.ntnu.no/wiki/-/wiki/Norsk/Vakt+og+service+p%C3%A5+campus -#: src/make_queue/models/course.py:28 +#: src/make_queue/models/course.py:36 msgid "Sent to Building security" msgstr "Sendt til Vakt og service" -#: src/make_queue/models/course.py:29 +#: src/make_queue/models/course.py:37 msgid "Access granted" msgstr "Tilgang gitt" -#: src/make_queue/models/course.py:38 +#: src/make_queue/models/course.py:46 #: src/make_queue/templates/make_queue/course/printer_3d_course_list.html:98 #: src/make_queue/views/course.py:123 msgid "username" msgstr "brukernavn" -#: src/make_queue/models/course.py:43 +#: src/make_queue/models/course.py:51 msgid "course date" msgstr "kursdato" -#: src/make_queue/models/course.py:45 -msgid "course permissions" -msgstr "kurs tillatelser" - -#: src/make_queue/models/course.py:52 +#: src/make_queue/models/course.py:60 msgid "3D printer course" msgstr "3D-printerkurs" -#: src/make_queue/models/course.py:53 +#: src/make_queue/models/course.py:61 msgid "3D printer courses" msgstr "3D-printerkurs" @@ -1437,47 +1448,47 @@ msgstr "brukskrav" msgid "The machine types are sorted ascending by this value." msgstr "Maskintypene sorteres stigende på denne verdien." -#: src/make_queue/models/machine.py:112 +#: src/make_queue/models/machine.py:113 msgid "Reserved" msgstr "Reservert" -#: src/make_queue/models/machine.py:113 +#: src/make_queue/models/machine.py:114 msgid "Available" msgstr "Ledig" -#: src/make_queue/models/machine.py:114 +#: src/make_queue/models/machine.py:115 msgid "In use" msgstr "I bruk" -#: src/make_queue/models/machine.py:115 +#: src/make_queue/models/machine.py:116 msgid "Out of order" msgstr "I ustand" -#: src/make_queue/models/machine.py:116 +#: src/make_queue/models/machine.py:117 msgid "Maintenance" msgstr "Vedlikehold" -#: src/make_queue/models/machine.py:126 +#: src/make_queue/models/machine.py:127 msgid "stream name" msgstr "videostrømnavn" -#: src/make_queue/models/machine.py:127 +#: src/make_queue/models/machine.py:128 msgid "Used for connecting to the machine's stream." msgstr "Brukes til å koble til maskinens videostrøm." -#: src/make_queue/models/machine.py:129 +#: src/make_queue/models/machine.py:130 msgid "machine model" msgstr "maskinmodell" -#: src/make_queue/models/machine.py:137 src/news/models.py:203 +#: src/make_queue/models/machine.py:138 src/news/models.py:203 msgid "location URL" msgstr "sted-URL" -#: src/make_queue/models/machine.py:138 src/news/models.py:50 +#: src/make_queue/models/machine.py:139 src/news/models.py:50 msgid "internal" msgstr "internt" -#: src/make_queue/models/machine.py:139 +#: src/make_queue/models/machine.py:140 msgid "" "If selected, the machine will only be visible to and reservable by MAKE " "members." @@ -1485,12 +1496,12 @@ msgstr "" "Hvis valgt vil maskinen bare være synlig og mulig å reservere for MAKE-" "medlemmer." -#: src/make_queue/models/machine.py:141 +#: src/make_queue/models/machine.py:142 #: src/make_queue/templates/make_queue/machine_detail.html:115 msgid "info message" msgstr "infomelding" -#: src/make_queue/models/machine.py:142 +#: src/make_queue/models/machine.py:143 msgid "" "Information that's useful to know before using the machine, e.g. the " "filament that the 3D printer uses, the needle that's currently inserted in " @@ -1501,23 +1512,23 @@ msgstr "" "som 3D-printeren bruker, nåla som er satt i symaskinen, eller " "tilstanden/«humøret» til maskinen for tida (emoji-er er tillatt 🤠)." -#: src/make_queue/models/machine.py:145 +#: src/make_queue/models/machine.py:146 msgid "time the info message was changed" msgstr "tidspunkt infomeldingen ble endra" -#: src/make_queue/models/machine.py:150 +#: src/make_queue/models/machine.py:151 msgid "If specified, the machines are sorted ascending by this value." msgstr "Hvis spesifisert, sorteres maskinene stigende på denne verdien." -#: src/make_queue/models/machine.py:152 +#: src/make_queue/models/machine.py:153 msgid "notes" msgstr "notater" -#: src/make_queue/models/machine.py:152 +#: src/make_queue/models/machine.py:153 msgid "This is only for internal use and is not displayed anywhere." msgstr "Dette er bare for intern bruk og blir ikke vist fram noe sted." -#: src/make_queue/models/machine.py:212 src/make_queue/views/machine.py:52 +#: src/make_queue/models/machine.py:213 src/make_queue/views/machine.py:52 #, python-brace-format msgid "Usage rules for {machine_type}" msgstr "Bruksregler for {machine_type}" @@ -1702,14 +1713,14 @@ msgstr "Nullstill valg" msgid "Registration status" msgstr "Registreringsstatus" -#: src/make_queue/templates/make_queue/course/printer_3d_course_form.html:122 +#: src/make_queue/templates/make_queue/course/printer_3d_course_form.html:116 #: src/make_queue/templates/make_queue/reservation_form.html:188 #: src/util/view_utils.py:115 msgid "Save" msgstr "Lagre" -#: src/make_queue/templates/make_queue/course/printer_3d_course_form.html:126 -#: src/make_queue/templates/make_queue/course/printer_3d_course_list.html:211 +#: src/make_queue/templates/make_queue/course/printer_3d_course_form.html:120 +#: src/make_queue/templates/make_queue/course/printer_3d_course_list.html:209 #: src/make_queue/templates/make_queue/reservation_form.html:190 #: src/news/templates/news/event/ticket/event_ticket_cancel.html:17 #: src/web/templates/web/delete_modal.html:22 @@ -1765,6 +1776,14 @@ msgstr "Veksle visning av ikke-valgte brukere" msgid "Select all shown users" msgstr "Velg alle viste brukere" +#: src/make_queue/templates/make_queue/course/printer_3d_course_list.html:100 +#: src/make_queue/views/course.py:125 +#: src/news/templates/news/event/event_list_contents.html:26 +#: src/web/templates/web/forms/widgets/semantic_date.html:11 +#: src/web/templates/web/forms/widgets/semantic_datetime.html:11 +msgid "date" +msgstr "dato" + #: src/make_queue/templates/make_queue/course/printer_3d_course_list.html:126 #, python-format msgid "Are you sure you want to delete the course registration of %(user)s?" @@ -1774,27 +1793,27 @@ msgstr "Er du sikker på at du vil slette kursregistreringen til %(user)s?" msgid "Connected to user" msgstr "Koblet til bruker" -#: src/make_queue/templates/make_queue/course/printer_3d_course_list.html:178 +#: src/make_queue/templates/make_queue/course/printer_3d_course_list.html:176 msgid "Filter matches" msgstr "Filter matcher" -#: src/make_queue/templates/make_queue/course/printer_3d_course_list.html:182 +#: src/make_queue/templates/make_queue/course/printer_3d_course_list.html:180 msgid "registrations" msgstr "registreringer" -#: src/make_queue/templates/make_queue/course/printer_3d_course_list.html:192 +#: src/make_queue/templates/make_queue/course/printer_3d_course_list.html:190 msgid "Set status of users to" msgstr "Sett status for brukere til" -#: src/make_queue/templates/make_queue/course/printer_3d_course_list.html:201 +#: src/make_queue/templates/make_queue/course/printer_3d_course_list.html:199 msgid "You are changing the status for the following users" msgstr "Du vil endre status for følgende brukere" -#: src/make_queue/templates/make_queue/course/printer_3d_course_list.html:203 +#: src/make_queue/templates/make_queue/course/printer_3d_course_list.html:201 msgid "Are you sure you want to do this?" msgstr "Er du sikker på at du vil gjøre dette?" -#: src/make_queue/templates/make_queue/course/printer_3d_course_list.html:208 +#: src/make_queue/templates/make_queue/course/printer_3d_course_list.html:206 msgid "Set status" msgstr "Sett status" @@ -3273,15 +3292,3 @@ msgstr "Søk etter steder" #~ msgid "SLA course" #~ msgstr "SLA-kurs" - -#~ msgid "Only has to be logged in" -#~ msgstr "Trenger bare å være innlogget" - -#~ msgid "Taken the 3D printer course" -#~ msgstr "Tatt 3D-printerkurset" - -#~ msgid "Taken the course on Raise3D printers" -#~ msgstr "Tatt Raise3D-printerkurset" - -#~ msgid "Taken the SLA 3D printer course" -#~ msgstr "Tatt SLA 3D-printerkurset" From d624c3436b2507efa0314aee0c9429fe2c98bcdb Mon Sep 17 00:00:00 2001 From: Konrad Date: Thu, 30 Oct 2025 17:35:21 +0100 Subject: [PATCH 5/6] updated test with new name --- src/internal/tests/test_urls.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/internal/tests/test_urls.py b/src/internal/tests/test_urls.py index e6a891c49..477b82c9f 100644 --- a/src/internal/tests/test_urls.py +++ b/src/internal/tests/test_urls.py @@ -58,9 +58,9 @@ def setUp(self): self.secret2 = Secret.objects.create(title="YouTube account", content="

Email: make@gmail.com

Password: password

") self.secrets = (self.secret1, self.secret2) - self.quote1 = Quote.objects.create(quote="Ha ha.", quoted="Human 1", author=member_user, dateTime="2022-02-02") + self.quote1 = Quote.objects.create(quote="Ha ha.", quoted="Human 1", author=member_user, time="2022-02-02") self.quote2 = Quote.objects.create(quote="I like human humor.", quoted="Human 2", author=member_editor_user, - dateTime="2022-02-02") + time="2022-02-02") self.quotes = (self.quote1, self.quote2) @staticmethod From 0e810f8b0f18140af09dfa053bac465f5501d9d0 Mon Sep 17 00:00:00 2001 From: Konrad Date: Tue, 24 Feb 2026 16:35:35 +0100 Subject: [PATCH 6/6] formatting --- src/internal/forms.py | 2 +- .../migrations/0027_alter_quote_date.py | 19 +++++++++---------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/internal/forms.py b/src/internal/forms.py index f99c68fb0..bdec85a7f 100644 --- a/src/internal/forms.py +++ b/src/internal/forms.py @@ -7,7 +7,7 @@ from users.models import User from web.widgets import ( SemanticDateInput, - SemanticDateTimeInput, + SemanticDateTimeInput, SemanticMultipleSelectInput, SemanticSearchableChoiceInput, ) diff --git a/src/internal/migrations/0027_alter_quote_date.py b/src/internal/migrations/0027_alter_quote_date.py index c2a41aef1..607b8dbde 100644 --- a/src/internal/migrations/0027_alter_quote_date.py +++ b/src/internal/migrations/0027_alter_quote_date.py @@ -4,24 +4,23 @@ class Migration(migrations.Migration): - dependencies = [ - ('internal', '0026_add_secret_permissions'), + ("internal", "0026_add_secret_permissions"), ] operations = [ migrations.RenameField( - model_name='quote', - old_name='date', - new_name='time', + model_name="quote", + old_name="date", + new_name="time", ), migrations.AlterField( - model_name='quote', - name='time', - field=models.DateTimeField(verbose_name='-time it was said'), + model_name="quote", + name="time", + field=models.DateTimeField(verbose_name="-time it was said"), ), migrations.AlterModelOptions( - name='quote', - options={'ordering': ('-time',)}, + name="quote", + options={"ordering": ("-time",)}, ), ]