Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • 520-akowner
  • 520-fix-event-wizard-datepicker
  • 520-fix-scheduling
  • 520-improve-scheduling
  • 520-improve-scheduling-2
  • 520-improve-submission
  • 520-improve-trackmanager
  • 520-improve-wall
  • 520-message-resolved
  • 520-status
  • 520-upgrades
  • add_express_interest_to_ak_overview
  • admin-production-color
  • bugfixes
  • csp
  • featire-ical-export
  • feature-ak-requirement-lists
  • feature-akslide-export-better-filename
  • feature-akslides
  • feature-better-admin
  • feature-better-cv-list
  • feature-colors
  • feature-constraint-checking
  • feature-constraint-checking-wip
  • feature-dashboard-history-button
  • feature-event-status
  • feature-event-wizard
  • feature-export-flag
  • feature-improve-admin
  • feature-improve-filters
  • feature-improved-user-creation-workflow
  • feature-interest-view
  • feature-mails
  • feature-modular-status
  • feature-plan-autoreload
  • feature-present-default
  • feature-register-link
  • feature-remaining-constraint-validation
  • feature-room-import
  • feature-scheduler-improve
  • feature-scheduling-2.0
  • feature-special-attention
  • feature-time-input
  • feature-tracker
  • feature-wiki-wishes
  • feature-wish-slots
  • feature-wizard-buttons
  • features-availabilities
  • fix-ak-times-above-folg
  • fix-api
  • fix-constraint-violation-string
  • fix-cv-checking
  • fix-default-slot-length
  • fix-default-slot-localization
  • fix-doc-minor
  • fix-duration-display
  • fix-event-tz-pytz-update
  • fix-history-interest
  • fix-interest-view
  • fix-js
  • fix-pipeline
  • fix-plan-timezone-now
  • fix-room-add
  • fix-scheduling-drag
  • fix-slot-defaultlength
  • fix-timezone
  • fix-translation-scheduling
  • fix-virtual-room-admin
  • fix-wizard-csp
  • font-locally
  • improve-admin
  • improve-online
  • improve-slides
  • improve-submission-coupling
  • interest_restriction
  • main
  • master
  • meta-debug-toolbar
  • meta-export
  • meta-makemessages
  • meta-performance
  • meta-tests
  • meta-tests-gitlab-test
  • meta-upgrades
  • mollux-master-patch-02906
  • port-availabilites-fullcalendar
  • qs
  • remove-tags
  • renovate/configure
  • renovate/django-4.x
  • renovate/django-5.x
  • renovate/django-bootstrap-datepicker-plus-5.x
  • renovate/django-bootstrap5-23.x
  • renovate/django-bootstrap5-24.x
  • renovate/django-compressor-4.x
  • renovate/django-debug-toolbar-4.x
  • renovate/django-registration-redux-2.x
  • renovate/django-simple-history-3.x
  • renovate/django-split-settings-1.x
  • renovate/django-timezone-field-5.x
100 results

Target

Select target project
No results found
Select Git revision
  • koma/feature/preference-polling-form
  • main
  • renovate/beautifulsoup4-4.x
  • renovate/django-5.x
  • renovate/django-bootstrap5-25.x
  • renovate/django-debug-toolbar-6.x
  • renovate/django-tex-1.x
  • renovate/djangorestframework-3.x
  • renovate/jsonschema-4.x
9 results
Show changes

Commits on Source 8

24 files
+ 418
227
Compare changes
  • Side-by-side
  • Inline

Files

Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-29 13:36+0000\n"
"POT-Creation-Date: 2022-12-27 01:09+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -101,6 +101,10 @@ msgstr "AK-Plan"
msgid "AK Submission"
msgstr "AK-Einreichung"

#: AKDashboard/templates/AKDashboard/dashboard_row.html:57
msgid "AK History"
msgstr "AK-Verlauf"

#: AKDashboard/views.py:42
#, python-format
msgid "New AK: %(ak)s."
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@
        {% include "AKDashboard/dashboard_row.html" %}

        {% if recent_changes|length > 0 %}
            <h3 class="mt-1">{% trans "Recent" %}:</h3>
            <h3 class="mt-1" id="history">{% trans "Recent" %}:</h3>
            <ul id="recent-changes-list">
                {% for recent in recent_changes %}
                    <li><a href="{{ recent.link }}">{% fa5_icon recent.icon.0 recent.icon.1 %} {{ recent.text }}</a> <span style="color: #999999;">{{ recent.timestamp | timezone:event.timezone | date:"d.m. H:i" }}</span></li>
Original line number Diff line number Diff line
@@ -50,6 +50,13 @@
            </div>
        </a>
    {% endif %}
    <a class="dashboard-box btn btn-primary"
       href="{% url 'dashboard:dashboard_event' slug=event.slug %}#history">
        <div class="col-sm-12 col-md-3 col-lg-2 dashboard-button">
            <span class="fa fa-history"></span>
            <span class='text'>{% trans 'AK History' %}</span>
        </div>
    </a>
    {% for button in event.dashboardbutton_set.all %}
        <a class="dashboard-box btn btn-{{ button.get_color_display }}"
           href="{{ button.url }}">
Original line number Diff line number Diff line
@@ -412,6 +412,12 @@ class DefaultSlotAdminForm(forms.ModelForm):

@admin.register(DefaultSlot)
class DefaultSlotAdmin(admin.ModelAdmin):
    list_display = ['start', 'end', 'event']
    list_display = ['start_simplified', 'end_simplified', 'event']
    list_filter = ['event']
    form = DefaultSlotAdminForm

    def get_form(self, request, obj=None, change=False, **kwargs):
        # Use timezone of event
        if obj is not None:
            timezone.activate(obj.event.timezone)
        return super().get_form(request, obj, change, **kwargs)
Original line number Diff line number Diff line
@@ -20,7 +20,8 @@ class AvailabilitiesFormMixin(forms.Form):
    availabilities = forms.CharField(
        label=_('Availability'),
        help_text=_(
            'Click and drag to mark the availability during the event, double-click to delete.'  # Adapted help text
            'Click and drag to mark the availability during the event, double-click to delete. '
            'Or use the start and end inputs to add entries to the calendar view.'  # Adapted help text
        ),
        widget=forms.TextInput(attrs={'class': 'availabilities-editor-data'}),
        required=False,
Original line number Diff line number Diff line
@@ -377,6 +377,7 @@
        "notes": "",
        "interest": -1,
        "interest_counter": 0,
        "include_in_export": false,
        "event": 2,
        "owners": [
            1
Original line number Diff line number Diff line
@@ -112,7 +112,8 @@ class DefaultSlotEditorForm(AdminIntermediateForm):
    availabilities = forms.CharField(
        label=_('Default Slots'),
        help_text=_(
            'Click and drag to mark the availability during the event, double-click to delete.'  # Adapted help text
            'Click and drag to add default slots, double-click to delete. '
            'Or use the start and end inputs to add entries to the calendar view.'
        ),
        widget=forms.TextInput(attrs={'class': 'availabilities-editor-data'}),
        required=True,
+18 −0
Original line number Diff line number Diff line
# Generated by Django 3.2.16 on 2022-12-26 22:38

from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('AKModel', '0054_default_slots'),
    ]

    operations = [
        migrations.AddField(
            model_name='ak',
            name='include_in_export',
            field=models.BooleanField(default=True, help_text='Include AK in wiki export?', verbose_name='Export?'),
        ),
    ]
Original line number Diff line number Diff line
@@ -92,10 +92,10 @@ class Event(models.Model):
            for category in categories:
                ak_list = []
                for ak in category.ak_set.all():
                    if filter(ak):
                        if ak.wish:
                            ak_wishes.append(ak)
                        else:
                        if filter(ak):
                            ak_list.append(ak)
                if not hide_empty_categories or len(ak_list) > 0:
                    categories_with_aks.append((category, ak_list))
@@ -288,7 +288,10 @@ class AK(models.Model):
    event = models.ForeignKey(to=Event, on_delete=models.CASCADE, verbose_name=_('Event'),
                              help_text=_('Associated event'))

    history = HistoricalRecords(excluded_fields=['interest_counter'])
    include_in_export = models.BooleanField(default=True, verbose_name=_('Export?'),
                                            help_text=_("Include AK in wiki export?"))

    history = HistoricalRecords(excluded_fields=['interest_counter', 'include_in_export'])

    class Meta:
        verbose_name = _('AK')
Original line number Diff line number Diff line
@@ -18,7 +18,8 @@
                '{{ event.timezone }}',
                '{{ LANGUAGE_CODE }}',
                '{{ event.start | timezone:event.timezone | date:"Y-m-d H:i:s" }}',
                '{{ event.end | timezone:event.timezone | date:"Y-m-d H:i:s" }}'
                '{{ event.end | timezone:event.timezone | date:"Y-m-d H:i:s" }}',
                '00:15:00'
            );
        });
    </script>
+27 −3
Original line number Diff line number Diff line
import traceback
from typing import List

from django.contrib.auth.models import User
@@ -59,8 +60,11 @@ class BasicViewTests:
    def test_views_for_200(self):
        for view_name in self.VIEWS:
            view_name_with_prefix, url = self._name_and_url(view_name)
            try:
                response = self.client.get(url)
                self.assertEqual(response.status_code, 200, msg=f"{view_name_with_prefix} ({url}) broken")
            except Exception as e:
                self.fail(f"An error occurred during rendering of {view_name_with_prefix} ({url}):\n\n{traceback.format_exc()}")

    def test_access_control_staff_only(self):
        self.client.logout()
@@ -94,9 +98,12 @@ class ModelViewTests(BasicViewTests, TestCase):
        (DefaultSlot, 'defaultslot')
    ]

    VIEWS_STAFF_ONLY = [
        ('admin:index', {})
    ]

    def test_admin(self):
        self.client.force_login(self.admin_user)

        for model in self.ADMIN_MODELS:
            if model[1] == "event":
                continue
@@ -110,3 +117,20 @@ class ModelViewTests(BasicViewTests, TestCase):
                view_name_with_prefix, url = self._name_and_url((f'admin:AKModel_{model[1]}_change', {'object_id': m.pk}))
                response = self.client.get(url)
                self.assertEqual(response.status_code, 200, msg=f"Edit form for model {model[1]} ({url}) broken")

    def test_wiki_export(self):
        self.client.force_login(self.admin_user)

        export_url = reverse_lazy(f"admin:ak_wiki_export", kwargs={'slug': 'kif42'})
        response = self.client.get(export_url)
        self.assertEqual(response.status_code, 200, "Export not working at all")

        export_count = 0
        for category, aks in response.context["categories_with_aks"]:
            for ak in aks:
                self.assertEqual(ak.include_in_export, True, f"AK with export flag set to False (pk={ak.pk}) included in export")
                self.assertNotEqual(ak.pk, 1, "AK known to be excluded from export (PK 1) included in export")
                export_count += 1

        self.assertEqual(export_count, AK.objects.filter(event_id=2, include_in_export=True).count(),
                         "Wiki export contained the wrong number of AKs")