diff --git a/files/locale/en/LC_MESSAGES/django.po b/files/locale/en/LC_MESSAGES/django.po index 6c2f02fdc..dc5ef672f 100644 --- a/files/locale/en/LC_MESSAGES/django.po +++ b/files/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-13 20:22+0100\n" +"POT-Creation-Date: 2024-04-03 20:23+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,6 +22,10 @@ msgstr "" msgid "Fjern" msgstr "Remove" +#: files/templates/files/_gallery_include.html:25 +msgid "VELG" +msgstr "SELECT" + #: files/templates/files/_gallery_include.html:29 msgid "Bildet er valgt" msgstr "The image is selected" diff --git a/files/locale/nb/LC_MESSAGES/django.po b/files/locale/nb/LC_MESSAGES/django.po index 078e74862..f473d08a2 100644 --- a/files/locale/nb/LC_MESSAGES/django.po +++ b/files/locale/nb/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-13 20:22+0100\n" +"POT-Creation-Date: 2024-04-03 20:23+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,6 +22,10 @@ msgstr "" msgid "Fjern" msgstr "" +#: files/templates/files/_gallery_include.html:25 +msgid "VELG" +msgstr "" + #: files/templates/files/_gallery_include.html:29 msgid "Bildet er valgt" msgstr "" diff --git a/files/templates/files/_gallery_include.html b/files/templates/files/_gallery_include.html index 838237436..4320bb8e6 100644 --- a/files/templates/files/_gallery_include.html +++ b/files/templates/files/_gallery_include.html @@ -22,7 +22,7 @@ var thumb_preview = document.querySelector('#thumb-preview'); document.addEventListener('click', function(e) { - if(e.target.innerText === "VELG") { + if(e.target.innerText === "{% trans 'VELG' %}") { // This is really funny to me var selectedImgId = e.target.attributes.value.value; thumbnail_input.value = selectedImgId; thumb_preview.style.backgroundImage = "url('/files/image-view/" + selectedImgId; diff --git a/internalportal/locale/en/LC_MESSAGES/django.po b/internalportal/locale/en/LC_MESSAGES/django.po index c02b1972a..e1e075a5d 100644 --- a/internalportal/locale/en/LC_MESSAGES/django.po +++ b/internalportal/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-13 20:22+0100\n" +"POT-Creation-Date: 2024-04-03 19:21+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/internalportal/locale/nb/LC_MESSAGES/django.po b/internalportal/locale/nb/LC_MESSAGES/django.po index fefe8e72a..14ae4f21a 100644 --- a/internalportal/locale/nb/LC_MESSAGES/django.po +++ b/internalportal/locale/nb/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-13 20:22+0100\n" +"POT-Creation-Date: 2024-02-28 18:43+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/inventory/locale/en/LC_MESSAGES/django.po b/inventory/locale/en/LC_MESSAGES/django.po index e3d7a439f..20b01934b 100644 --- a/inventory/locale/en/LC_MESSAGES/django.po +++ b/inventory/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-13 20:22+0100\n" +"POT-Creation-Date: 2024-04-03 19:21+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,7 +18,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: inventory/templates/inventory/edit_item.html:12 +#: inventory/models/item_loan.py:25 +msgid "Lån fra" +msgstr "Borrow from" + +#: inventory/templates/inventory/edit_item.html:13 msgid "Rediger lagerinnslag" msgstr "Edit inventory item" diff --git a/inventory/locale/nb/LC_MESSAGES/django.po b/inventory/locale/nb/LC_MESSAGES/django.po index 210c78e9a..071e077c6 100644 --- a/inventory/locale/nb/LC_MESSAGES/django.po +++ b/inventory/locale/nb/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-13 20:22+0100\n" +"POT-Creation-Date: 2024-04-03 19:21+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,7 +18,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: inventory/templates/inventory/edit_item.html:12 +#: inventory/models/item_loan.py:25 +msgid "Lån fra" +msgstr "" + +#: inventory/templates/inventory/edit_item.html:13 msgid "Rediger lagerinnslag" msgstr "" diff --git a/inventory/migrations/0030_alter_itemloan_loan_from.py b/inventory/migrations/0030_alter_itemloan_loan_from.py new file mode 100644 index 000000000..610ed34ff --- /dev/null +++ b/inventory/migrations/0030_alter_itemloan_loan_from.py @@ -0,0 +1,19 @@ +# Generated by Django 3.2.18 on 2024-02-28 18:40 + +from django.db import migrations, models +import django.utils.timezone + + +class Migration(migrations.Migration): + + dependencies = [ + ('inventory', '0029_equipment'), + ] + + operations = [ + migrations.AlterField( + model_name='itemloan', + name='loan_from', + field=models.DateField(default=django.utils.timezone.now, verbose_name='Lån fra'), + ), + ] diff --git a/inventory/models/item_loan.py b/inventory/models/item_loan.py index 6e631ce90..b733ddb8a 100644 --- a/inventory/models/item_loan.py +++ b/inventory/models/item_loan.py @@ -3,6 +3,7 @@ from django.core.validators import MinValueValidator from django.db import models from django.utils import timezone +from django.utils.translation import gettext_lazy as _ from applications.validators import validate_phone_number @@ -21,7 +22,7 @@ class ItemLoan(models.Model): amount = models.IntegerField("Antall", validators=[MinValueValidator(1)]) # Automatically set once the application is accepted - loan_from = models.DateField("Utlånt fra", default=timezone.now, blank=True) + loan_from = models.DateField(_("Lån fra"), default=timezone.now) loan_to = models.DateField("Lån til") purpose = models.CharField("Formål", max_length=50) diff --git a/inventory/static/inventory/js/loan_app.js b/inventory/static/inventory/js/loan_app.js index a3bdd9e88..6b3a8d768 100644 --- a/inventory/static/inventory/js/loan_app.js +++ b/inventory/static/inventory/js/loan_app.js @@ -1,6 +1,4 @@ document.addEventListener("DOMContentLoaded", function() { - const datepickers = document.querySelectorAll('.datepicker'); - internationalization = { months: [ 'Januar', @@ -37,45 +35,53 @@ document.addEventListener("DOMContentLoaded", function() { weekdaysAbbrev: ['S','M','T','O','T','F','L'] } - for (dp of datepickers) { - options = { - format: 'dd.mm.yyyy', - firstDay: 1, - i18n: internationalization, - minDate: new Date() - } - const maxDateStr = dp.getAttribute('data-max-date') - if (maxDateStr) { - options.maxDate = new Date(maxDateStr) - } - M.Datepicker.init(dp, options); + const loanFromDateEl = document.getElementById('id_loan_from'); + const loanToDateEl = document.getElementById('id_loan_to'); + + options = { + format: 'dd.mm.yyyy', + firstDay: 1, + i18n: internationalization } + initDatepickers(loanToDateEl, loanFromDateEl, maxLoanDays, loanFromMaxDate, options) + loanFromDateEl.addEventListener('change', () => { + updateLoanToDatepicker(loanToDateEl, loanFromDateEl, options, maxLoanDays) + }); - // Vis og gjem deler som relateres til påmeldinger - var reg_box = document.getElementsByClassName('reg-box')[0]; - var reg_check = document.getElementsByName('registration')[0] - var ext_reg = document.getElementsByClassName('ext-reg')[0]; +}); - if(reg_check.checked) { - reg_box.classList.remove('hide'); - ext_reg.classList.add('hide'); +function parseFormattedDate(dateString) { + const dateParts = dateString.split('.'); + return new Date(dateParts[2], dateParts[1]-1, dateParts[0]); +} + +function initDatepickers(loanToEl, loanFromEl, maxLoanDays, loanFromMaxDate, dpOptions) { + const toDateOptions = dpOptions + const fromDateOptions = { + ...toDateOptions, } - else { - reg_box.classList.add('hide'); - ext_reg.classList.remove('hide'); + + fromDateOptions.minDate = parseFormattedDate(loanFromEl.value); + if (loanFromMaxDate) { + fromDateOptions.maxDate = new Date(loanFromMaxDate); } - reg_check.onchange = function() { - if(this.checked) { - reg_box.classList.remove('hide'); - ext_reg.classList.add('hide'); - } - else { - reg_box.classList.add('hide'); - ext_reg.classList.remove('hide'); - document.getElementById('id_external_registration').value = ''; - } - }; + M.Datepicker.init(loanFromEl, fromDateOptions); + M.Datepicker.init(loanToEl, toDateOptions); -}); + updateLoanToDatepicker(loanToEl, loanFromEl, toDateOptions, maxLoanDays) +} + +function updateLoanToDatepicker(loanToEl, loanFromEl, datepickerOptions, maxLoanDays) { + const loanFromDate = parseFormattedDate(loanFromEl.value) + + datepickerOptions.minDate = loanFromDate + + if (maxLoanDays) { + const maxDate = new Date(loanFromDate) + maxDate.setDate(loanFromDate.getDate() + maxLoanDays) + datepickerOptions.maxDate = maxDate + } + M.Datepicker.init(loanToEl, datepickerOptions); +} diff --git a/inventory/templates/inventory/loan_apply.html b/inventory/templates/inventory/loan_apply.html index bdd6618f2..bae7e5469 100644 --- a/inventory/templates/inventory/loan_apply.html +++ b/inventory/templates/inventory/loan_apply.html @@ -37,9 +37,10 @@

Lånesøknad - {{ item.name }}

Lånedetaljer
- {{ form.amount }} - - {{ form.amount.errors }} + date_range + {{ form.loan_from }} + + {{ form.loan_from.errors }}
date_range @@ -47,7 +48,12 @@
Lånedetaljer
{{ form.loan_to.errors }}
-
+
+ {{ form.amount }} + + {{ form.amount.errors }} +
+
{{ form.purpose }} {{ form.purpose.errors }} @@ -109,6 +115,15 @@
Medlemsfordeler
+ {% endblock %} diff --git a/inventory/views/item_loan.py b/inventory/views/item_loan.py index 69cc20592..a61f13579 100644 --- a/inventory/views/item_loan.py +++ b/inventory/views/item_loan.py @@ -1,5 +1,6 @@ -from datetime import datetime, timedelta +from datetime import date, datetime, timedelta +from dateutil.relativedelta import relativedelta from django.contrib import messages from django.contrib.auth.mixins import PermissionRequiredMixin from django.http import HttpResponseRedirect @@ -136,6 +137,7 @@ class ItemLoanApplicationView(CreateView): fields = [ "item", "amount", + "loan_from", "loan_to", "purpose", "contact_name", @@ -146,6 +148,7 @@ class ItemLoanApplicationView(CreateView): template_name = "inventory/loan_apply.html" success_message = "Lånesøknaden er registrert!" success_url = reverse_lazy("inventory:inventory") + months_max_ahead = 1 def get_success_url(self): # SuccessMessageMixin doesn't actually work so fuck it @@ -185,16 +188,18 @@ def get(self, *args, **kwargs): def get_form(self, *args, **kwargs): # Add the datepicker class to the loan to field before it's sent off form = super().get_form(*args, **kwargs) - max_duration = Item.objects.get(id=self.kwargs["pk"]).max_loan_duration - if max_duration is not None: - max_date = datetime.now() + timedelta(days=max_duration) - form.fields["loan_to"].widget.attrs["data-max-date"] = max_date form.fields["loan_to"].widget.attrs["class"] = "datepicker" + form.fields["loan_from"].widget.attrs["class"] = "datepicker" + form.fields["loan_from"].widget.format = "%d.%m.%Y" # Set date format + form.fields["loan_to"].widget.format = "%d.%m.%Y" # Set date format return form def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context["item"] = Item.objects.get(id=self.kwargs["pk"]) + context["loan_from_max_date"] = date.today() + relativedelta( + months=self.months_max_ahead + ) return context def form_valid(self, form): @@ -210,14 +215,33 @@ def form_valid(self, form): max_duration = Item.objects.get(id=self.kwargs["pk"]).max_loan_duration # Convert 'loan to' date from datetime.date to datetime.datetime (i.e. add time 00:00) # (because same type is required for the comparison check) + loan_from_datetime = datetime.combine( + form.instance.loan_from, datetime.max.time() + ) loan_to_datetime = datetime.combine(form.instance.loan_to, datetime.min.time()) - if max_duration and loan_to_datetime > datetime.now() + timedelta( + + if max_duration and loan_to_datetime > loan_from_datetime + timedelta( days=max_duration ): form.errors[ "loan_to" ] = f"Du kan ikke låne denne gjenstanden lenger enn {max_duration} dager" return self.render_to_response(self.get_context_data(form=form)) + if loan_to_datetime < loan_from_datetime: + form.errors["loan_from"] = "Startdato for lån må være før sluttdato for lån" + return self.render_to_response(self.get_context_data(form=form)) + if loan_from_datetime < datetime.now(): + form.errors[ + "loan_from" + ] = "Du kan ikke starte å låne denne gjenstanden før i dag" + return self.render_to_response(self.get_context_data(form=form)) + if loan_from_datetime.date() > ( + date.today() + relativedelta(months=self.months_max_ahead) + ): + form.errors[ + "loan_from" + ] = f"""Du kan ikke starte å låne denne gjenstanden mer enn {self.months_max_ahead} måned frem i tid""" + return self.render_to_response(self.get_context_data(form=form)) # bit ugly but it works user = self.request.user diff --git a/news/locale/en/LC_MESSAGES/django.po b/news/locale/en/LC_MESSAGES/django.po index ba399b885..41f1b1c66 100644 --- a/news/locale/en/LC_MESSAGES/django.po +++ b/news/locale/en/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-13 20:22+0100\n" +"POT-Creation-Date: 2024-04-03 19:21+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -225,7 +225,7 @@ msgstr "Select main image" msgid "Internt arrangement (Kun Hackerspace-medlemmer kan se arrangementet)" msgstr "Internal event (Only Hackerspace members can see the event)" -#: news/templates/news/edit_event.html:147 news/templates/news/event.html:103 +#: news/templates/news/edit_event.html:147 news/templates/news/event.html:105 msgid "Påmelding" msgstr "Registration" @@ -233,7 +233,7 @@ msgstr "Registration" msgid "Ferdigheter" msgstr "Skills" -#: news/templates/news/edit_event.html:198 news/templates/news/event.html:153 +#: news/templates/news/edit_event.html:198 news/templates/news/event.html:155 msgid "Filer" msgstr "Files" @@ -270,114 +270,110 @@ msgid "" msgstr "" "This event is open to all students regardless of Hackerspace membership" -#: news/templates/news/event.html:44 -msgid "Arrangementansvarlig" -msgstr "Event organizer" - -#: news/templates/news/event.html:47 +#: news/templates/news/event.html:49 msgid "Fra" msgstr "From" -#: news/templates/news/event.html:48 +#: news/templates/news/event.html:50 msgid "Til" msgstr "To" -#: news/templates/news/event.html:51 +#: news/templates/news/event.html:53 msgid "til" msgstr "to" -#: news/templates/news/event.html:69 +#: news/templates/news/event.html:71 msgid "Last ned ICS-fil" msgstr "Download ICS file" -#: news/templates/news/event.html:75 +#: news/templates/news/event.html:77 msgid "Ved å delta på arrangementet vil du få følgende ferdigheter godkjent:" msgstr "" "By participating in the event, you will have the following skills approved:" -#: news/templates/news/event.html:83 +#: news/templates/news/event.html:85 msgid "Du har allerede denne ferdigheten" msgstr "You already have this skill" -#: news/templates/news/event.html:85 +#: news/templates/news/event.html:87 msgid "Du mangler en forutsetning for denne ferdigheten" msgstr "You lack a prerequisite for this skill" -#: news/templates/news/event.html:109 +#: news/templates/news/event.html:111 msgid "Påmeldte" msgstr "Attendees" -#: news/templates/news/event.html:109 +#: news/templates/news/event.html:111 msgid "på venteliste" msgstr "on waiting list" -#: news/templates/news/event.html:116 +#: news/templates/news/event.html:118 msgid "Logg inn for å melde deg på" msgstr "Log in to sign up" -#: news/templates/news/event.html:119 news/templates/news/event.html:121 -#: news/templates/news/event.html:124 news/templates/news/event.html:214 +#: news/templates/news/event.html:121 news/templates/news/event.html:123 +#: news/templates/news/event.html:126 news/templates/news/event.html:216 msgid "Meld deg på" msgstr "Sign up" -#: news/templates/news/event.html:122 +#: news/templates/news/event.html:124 msgid "Påmelding åpner" msgstr "Registration opens" -#: news/templates/news/event.html:125 +#: news/templates/news/event.html:127 msgid "Fristen for påmelding er ute." msgstr "The registration deadline has passed." -#: news/templates/news/event.html:129 news/templates/news/event.html:131 -#: news/templates/news/event.html:212 +#: news/templates/news/event.html:131 news/templates/news/event.html:133 +#: news/templates/news/event.html:214 msgid "Meld deg av" msgstr "Withdraw registration" -#: news/templates/news/event.html:132 +#: news/templates/news/event.html:134 msgid "Fristen for avregistrering er ute." msgstr "The withdrawal deadline has passed." -#: news/templates/news/event.html:136 +#: news/templates/news/event.html:138 msgid "Frist for påmelding er" msgstr "The registration deadline is" -#: news/templates/news/event.html:137 +#: news/templates/news/event.html:139 msgid "Frist for avmelding er" msgstr "The withdrawal deadline is" -#: news/templates/news/event.html:139 +#: news/templates/news/event.html:141 msgid "Arrangementet benytter ekstern nettside for pålogging." msgstr "The event uses an external website for login." -#: news/templates/news/event.html:140 +#: news/templates/news/event.html:142 msgid "Åpne påmeldingsside i ny fane" msgstr "Open registration page in new tab" -#: news/templates/news/event.html:142 +#: news/templates/news/event.html:144 msgid "Arrangementet er over og du kan ikke melde deg på." msgstr "The event is over and you cannot register." -#: news/templates/news/event.html:144 +#: news/templates/news/event.html:146 msgid "Arrangementet krever ikke påmelding." msgstr "The event does not require registration." -#: news/templates/news/event.html:154 +#: news/templates/news/event.html:156 msgid "Arrangøren har lagt ved følgende filer" msgstr "The organizer has attached the following files" -#: news/templates/news/event.html:180 +#: news/templates/news/event.html:182 msgid "Ingen filer" msgstr "No files" -#: news/templates/news/event.html:193 +#: news/templates/news/event.html:195 msgid "Informasjon om påmelding" msgstr "Registration information" -#: news/templates/news/event.html:195 +#: news/templates/news/event.html:197 msgid "Du forsøker å melde deg av arrangementet." msgstr "You are trying to withdraw your registration from the event." -#: news/templates/news/event.html:196 +#: news/templates/news/event.html:198 msgid "" "Merk at dersom det er venteliste i arrangementet, vil du havne bakerst i " "køen dersom du ønsker å melde deg på igjen." @@ -385,7 +381,7 @@ msgstr "" "Note that if there is a waiting list for the event, you will be placed at " "the end of the queue if you wish to re-register." -#: news/templates/news/event.html:198 +#: news/templates/news/event.html:200 msgid "" "Arrangementets påmeldingsfrist er utløpt. Dersom du melder deg av, har du " "ikke mulighet til å melde deg på igjen." @@ -393,27 +389,27 @@ msgstr "" "The registration deadline for the event has expired. If you withdraw your " "registration, you will not be able to register again." -#: news/templates/news/event.html:201 +#: news/templates/news/event.html:203 msgid "Ved å melde deg på dette arrangementet forventes det at du møter opp." msgstr "By registering for this event, it is expected that you attend." -#: news/templates/news/event.html:202 +#: news/templates/news/event.html:204 msgid "Du kan ikke melde deg av etter" msgstr "You cannot withdraw your registration after" -#: news/templates/news/event.html:204 +#: news/templates/news/event.html:206 msgid "Dette arrangementet har servering. Sørg for at dine" msgstr "This event includes catering. Make sure your" -#: news/templates/news/event.html:204 +#: news/templates/news/event.html:206 msgid "innstillinger for matpreferanser" msgstr "dietary preferences settings" -#: news/templates/news/event.html:204 +#: news/templates/news/event.html:206 msgid "er oppdaterte." msgstr "are up to date." -#: news/templates/news/event.html:216 +#: news/templates/news/event.html:218 msgid "Cancel" msgstr "Cancel" @@ -500,3 +496,6 @@ msgstr "Attendance Not Registered" #: news/templates/news/skills_form.html:87 msgid "Save" msgstr "Save" + +#~ msgid "Arrangementansvarlig" +#~ msgstr "Event organizer" diff --git a/news/locale/nb/LC_MESSAGES/django.po b/news/locale/nb/LC_MESSAGES/django.po index af3b1401b..b191b46be 100644 --- a/news/locale/nb/LC_MESSAGES/django.po +++ b/news/locale/nb/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-13 20:22+0100\n" +"POT-Creation-Date: 2024-04-03 19:21+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -229,7 +229,7 @@ msgstr "" msgid "Internt arrangement (Kun Hackerspace-medlemmer kan se arrangementet)" msgstr "" -#: news/templates/news/edit_event.html:147 news/templates/news/event.html:103 +#: news/templates/news/edit_event.html:147 news/templates/news/event.html:105 msgid "Påmelding" msgstr "" @@ -237,7 +237,7 @@ msgstr "" msgid "Ferdigheter" msgstr "" -#: news/templates/news/edit_event.html:198 news/templates/news/event.html:153 +#: news/templates/news/edit_event.html:198 news/templates/news/event.html:155 msgid "Filer" msgstr "" @@ -271,145 +271,141 @@ msgid "" "medlemskap" msgstr "" -#: news/templates/news/event.html:44 -msgid "Arrangementansvarlig" -msgstr "" - -#: news/templates/news/event.html:47 +#: news/templates/news/event.html:49 msgid "Fra" msgstr "" -#: news/templates/news/event.html:48 +#: news/templates/news/event.html:50 msgid "Til" msgstr "" -#: news/templates/news/event.html:51 +#: news/templates/news/event.html:53 msgid "til" msgstr "" -#: news/templates/news/event.html:69 +#: news/templates/news/event.html:71 msgid "Last ned ICS-fil" msgstr "" -#: news/templates/news/event.html:75 +#: news/templates/news/event.html:77 msgid "Ved å delta på arrangementet vil du få følgende ferdigheter godkjent:" msgstr "" -#: news/templates/news/event.html:83 +#: news/templates/news/event.html:85 msgid "Du har allerede denne ferdigheten" msgstr "" -#: news/templates/news/event.html:85 +#: news/templates/news/event.html:87 msgid "Du mangler en forutsetning for denne ferdigheten" msgstr "" -#: news/templates/news/event.html:109 +#: news/templates/news/event.html:111 msgid "Påmeldte" msgstr "" -#: news/templates/news/event.html:109 +#: news/templates/news/event.html:111 msgid "på venteliste" msgstr "" -#: news/templates/news/event.html:116 +#: news/templates/news/event.html:118 msgid "Logg inn for å melde deg på" msgstr "" -#: news/templates/news/event.html:119 news/templates/news/event.html:121 -#: news/templates/news/event.html:124 news/templates/news/event.html:214 +#: news/templates/news/event.html:121 news/templates/news/event.html:123 +#: news/templates/news/event.html:126 news/templates/news/event.html:216 msgid "Meld deg på" msgstr "" -#: news/templates/news/event.html:122 +#: news/templates/news/event.html:124 msgid "Påmelding åpner" msgstr "" -#: news/templates/news/event.html:125 +#: news/templates/news/event.html:127 msgid "Fristen for påmelding er ute." msgstr "" -#: news/templates/news/event.html:129 news/templates/news/event.html:131 -#: news/templates/news/event.html:212 +#: news/templates/news/event.html:131 news/templates/news/event.html:133 +#: news/templates/news/event.html:214 msgid "Meld deg av" msgstr "" -#: news/templates/news/event.html:132 +#: news/templates/news/event.html:134 msgid "Fristen for avregistrering er ute." msgstr "" -#: news/templates/news/event.html:136 +#: news/templates/news/event.html:138 msgid "Frist for påmelding er" msgstr "" -#: news/templates/news/event.html:137 +#: news/templates/news/event.html:139 msgid "Frist for avmelding er" msgstr "" -#: news/templates/news/event.html:139 +#: news/templates/news/event.html:141 msgid "Arrangementet benytter ekstern nettside for pålogging." msgstr "" -#: news/templates/news/event.html:140 +#: news/templates/news/event.html:142 msgid "Åpne påmeldingsside i ny fane" msgstr "" -#: news/templates/news/event.html:142 +#: news/templates/news/event.html:144 msgid "Arrangementet er over og du kan ikke melde deg på." msgstr "" -#: news/templates/news/event.html:144 +#: news/templates/news/event.html:146 msgid "Arrangementet krever ikke påmelding." msgstr "" -#: news/templates/news/event.html:154 +#: news/templates/news/event.html:156 msgid "Arrangøren har lagt ved følgende filer" msgstr "" -#: news/templates/news/event.html:180 +#: news/templates/news/event.html:182 msgid "Ingen filer" msgstr "" -#: news/templates/news/event.html:193 +#: news/templates/news/event.html:195 msgid "Informasjon om påmelding" msgstr "" -#: news/templates/news/event.html:195 +#: news/templates/news/event.html:197 msgid "Du forsøker å melde deg av arrangementet." msgstr "" -#: news/templates/news/event.html:196 +#: news/templates/news/event.html:198 msgid "" "Merk at dersom det er venteliste i arrangementet, vil du havne bakerst i " "køen dersom du ønsker å melde deg på igjen." msgstr "" -#: news/templates/news/event.html:198 +#: news/templates/news/event.html:200 msgid "" "Arrangementets påmeldingsfrist er utløpt. Dersom du melder deg av, har du " "ikke mulighet til å melde deg på igjen." msgstr "" -#: news/templates/news/event.html:201 +#: news/templates/news/event.html:203 msgid "Ved å melde deg på dette arrangementet forventes det at du møter opp." msgstr "" -#: news/templates/news/event.html:202 +#: news/templates/news/event.html:204 msgid "Du kan ikke melde deg av etter" msgstr "" -#: news/templates/news/event.html:204 +#: news/templates/news/event.html:206 msgid "Dette arrangementet har servering. Sørg for at dine" msgstr "" -#: news/templates/news/event.html:204 +#: news/templates/news/event.html:206 msgid "innstillinger for matpreferanser" msgstr "" -#: news/templates/news/event.html:204 +#: news/templates/news/event.html:206 msgid "er oppdaterte." msgstr "" -#: news/templates/news/event.html:216 +#: news/templates/news/event.html:218 msgid "Cancel" msgstr ""