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

Target

Select target project
  • konstantin/akplanning
  • matedealer/akplanning
  • kif/akplanning
  • mirco/akplanning
  • lordofthevoid/akplanning
  • voidptr/akplanning
  • xayomer/akplanning-fork
  • mollux/akplanning
  • neumantm/akplanning
  • mmarx/akplanning
  • nerf/akplanning
  • felix_bonn/akplanning
  • sebastian.uschmann/akplanning
13 results
Select Git revision
Show changes
Commits on Source (1)
...@@ -377,6 +377,7 @@ ...@@ -377,6 +377,7 @@
"notes": "", "notes": "",
"interest": -1, "interest": -1,
"interest_counter": 0, "interest_counter": 0,
"include_in_export": false,
"event": 2, "event": 2,
"owners": [ "owners": [
1 1
......
# 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?'),
),
]
...@@ -92,10 +92,10 @@ class Event(models.Model): ...@@ -92,10 +92,10 @@ class Event(models.Model):
for category in categories: for category in categories:
ak_list = [] ak_list = []
for ak in category.ak_set.all(): for ak in category.ak_set.all():
if ak.wish: if filter(ak):
ak_wishes.append(ak) if ak.wish:
else: ak_wishes.append(ak)
if filter(ak): else:
ak_list.append(ak) ak_list.append(ak)
if not hide_empty_categories or len(ak_list) > 0: if not hide_empty_categories or len(ak_list) > 0:
categories_with_aks.append((category, ak_list)) categories_with_aks.append((category, ak_list))
...@@ -288,7 +288,10 @@ class AK(models.Model): ...@@ -288,7 +288,10 @@ class AK(models.Model):
event = models.ForeignKey(to=Event, on_delete=models.CASCADE, verbose_name=_('Event'), event = models.ForeignKey(to=Event, on_delete=models.CASCADE, verbose_name=_('Event'),
help_text=_('Associated 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: class Meta:
verbose_name = _('AK') verbose_name = _('AK')
......
...@@ -110,3 +110,20 @@ class ModelViewTests(BasicViewTests, TestCase): ...@@ -110,3 +110,20 @@ class ModelViewTests(BasicViewTests, TestCase):
view_name_with_prefix, url = self._name_and_url((f'admin:AKModel_{model[1]}_change', {'object_id': m.pk})) view_name_with_prefix, url = self._name_and_url((f'admin:AKModel_{model[1]}_change', {'object_id': m.pk}))
response = self.client.get(url) response = self.client.get(url)
self.assertEqual(response.status_code, 200, msg=f"Edit form for model {model[1]} ({url}) broken") 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")
...@@ -197,7 +197,10 @@ class AKWikiExportView(AdminViewMixin, DetailView): ...@@ -197,7 +197,10 @@ class AKWikiExportView(AdminViewMixin, DetailView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)
categories_with_aks, ak_wishes = context["event"].get_categories_with_aks(wishes_seperately=True) categories_with_aks, ak_wishes = context["event"].get_categories_with_aks(
wishes_seperately=True,
filter=lambda ak: ak.include_in_export
)
context["categories_with_aks"] = [(category.name, ak_list) for category, ak_list in categories_with_aks] context["categories_with_aks"] = [(category.name, ak_list) for category, ak_list in categories_with_aks]
context["categories_with_aks"].append((_("Wishes"), ak_wishes)) context["categories_with_aks"].append((_("Wishes"), ak_wishes))
......