mirror of
https://gitlab.crans.org/bde/nk20
synced 2025-06-28 20:33:00 +02:00
Not so atomic, sorry
This commit is contained in:
5
activity/__init__.py
Normal file
5
activity/__init__.py
Normal file
@ -0,0 +1,5 @@
|
||||
# -*- mode: python; coding: utf-8 -*-
|
||||
# Copyright (C) 2018-2019 by BDE ENS Paris-Saclay
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
default_app_config = 'activity.apps.ActivityConfig'
|
3
activity/admin.py
Normal file
3
activity/admin.py
Normal file
@ -0,0 +1,3 @@
|
||||
# -*- mode: python; coding: utf-8 -*-
|
||||
# Copyright (C) 2018-2019 by BDE ENS Paris-Saclay
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
11
activity/apps.py
Normal file
11
activity/apps.py
Normal file
@ -0,0 +1,11 @@
|
||||
# -*- mode: python; coding: utf-8 -*-
|
||||
# Copyright (C) 2018-2019 by BDE ENS Paris-Saclay
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
from django.apps import AppConfig
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
|
||||
class ActivityConfig(AppConfig):
|
||||
name = 'activity'
|
||||
verbose_name = _('activity')
|
54
activity/locale/fr/LC_MESSAGES/django.po
Normal file
54
activity/locale/fr/LC_MESSAGES/django.po
Normal file
@ -0,0 +1,54 @@
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-07-16 12:37+0200\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"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: apps.py:11
|
||||
msgid "activity"
|
||||
msgstr "activité"
|
||||
|
||||
#: models.py:12 models.py:25
|
||||
msgid "name"
|
||||
msgstr "nom"
|
||||
|
||||
#: models.py:16
|
||||
msgid "can invite"
|
||||
msgstr "peut inviter"
|
||||
|
||||
#: models.py:19
|
||||
msgid "guest entry fee"
|
||||
msgstr "cotisation de l'entrée invité"
|
||||
|
||||
#: models.py:29
|
||||
msgid "description"
|
||||
msgstr "description"
|
||||
|
||||
#: models.py:35
|
||||
msgid "type"
|
||||
msgstr "type"
|
||||
|
||||
#: models.py:41
|
||||
msgid "organizer"
|
||||
msgstr "organisateur"
|
||||
|
||||
#: models.py:47
|
||||
msgid "attendees club"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:50
|
||||
msgid "start date"
|
||||
msgstr "date de début"
|
||||
|
||||
#: models.py:53
|
||||
msgid "end date"
|
||||
msgstr "date de fin"
|
64
activity/migrations/0001_initial.py
Normal file
64
activity/migrations/0001_initial.py
Normal file
@ -0,0 +1,64 @@
|
||||
# Generated by Django 2.2.3 on 2019-07-16 10:33
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
('note', '0001_initial'),
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('member', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Activity',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=255, verbose_name='name')),
|
||||
('description', models.TextField(verbose_name='description')),
|
||||
('date_start', models.DateTimeField(verbose_name='start date')),
|
||||
('date_end', models.DateTimeField(verbose_name='end date')),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='ActivityType',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=255, verbose_name='name')),
|
||||
('can_invite', models.BooleanField(verbose_name='can invite')),
|
||||
('guest_entry_fee', models.PositiveIntegerField(verbose_name='guest entry fee')),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Guest',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=255)),
|
||||
('entry', models.DateTimeField(null=True)),
|
||||
('activity', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='+', to='activity.Activity')),
|
||||
('entry_transaction', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='note.Transaction')),
|
||||
('inviter', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='+', to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='activity',
|
||||
name='activity_type',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='+', to='activity.ActivityType', verbose_name='type'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='activity',
|
||||
name='attendees_club',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='+', to='member.Club', verbose_name='attendees club'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='activity',
|
||||
name='organizer',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='+', to='member.Club', verbose_name='organizer'),
|
||||
),
|
||||
]
|
0
activity/migrations/__init__.py
Normal file
0
activity/migrations/__init__.py
Normal file
77
activity/models.py
Normal file
77
activity/models.py
Normal file
@ -0,0 +1,77 @@
|
||||
# -*- mode: python; coding: utf-8 -*-
|
||||
# Copyright (C) 2018-2019 by BDE ENS Paris-Saclay
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
from django.db import models
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django.conf import settings
|
||||
|
||||
|
||||
class ActivityType(models.Model):
|
||||
name = models.CharField(
|
||||
verbose_name=_('name'),
|
||||
max_length=255,
|
||||
)
|
||||
can_invite = models.BooleanField(
|
||||
verbose_name=_('can invite'),
|
||||
)
|
||||
guest_entry_fee = models.PositiveIntegerField(
|
||||
verbose_name=_('guest entry fee'),
|
||||
)
|
||||
|
||||
|
||||
class Activity(models.Model):
|
||||
name = models.CharField(
|
||||
verbose_name=_('name'),
|
||||
max_length=255,
|
||||
)
|
||||
description = models.TextField(
|
||||
verbose_name=_('description'),
|
||||
)
|
||||
activity_type = models.ForeignKey(
|
||||
ActivityType,
|
||||
on_delete=models.PROTECT,
|
||||
related_name='+',
|
||||
verbose_name=_('type'),
|
||||
)
|
||||
organizer = models.ForeignKey(
|
||||
'member.Club',
|
||||
on_delete=models.PROTECT,
|
||||
related_name='+',
|
||||
verbose_name=_('organizer'),
|
||||
)
|
||||
attendees_club = models.ForeignKey(
|
||||
'member.Club',
|
||||
on_delete=models.PROTECT,
|
||||
related_name='+',
|
||||
verbose_name=_('attendees club'),
|
||||
)
|
||||
date_start = models.DateTimeField(
|
||||
verbose_name=_('start date'),
|
||||
)
|
||||
date_end = models.DateTimeField(
|
||||
verbose_name=_('end date'),
|
||||
)
|
||||
|
||||
|
||||
class Guest(models.Model):
|
||||
activity = models.ForeignKey(
|
||||
Activity,
|
||||
on_delete=models.PROTECT,
|
||||
related_name='+',
|
||||
)
|
||||
name = models.CharField(
|
||||
max_length=255,
|
||||
)
|
||||
inviter = models.ForeignKey(
|
||||
settings.AUTH_USER_MODEL,
|
||||
on_delete=models.PROTECT,
|
||||
related_name='+',
|
||||
)
|
||||
entry = models.DateTimeField(
|
||||
null=True,
|
||||
)
|
||||
entry_transaction = models.ForeignKey(
|
||||
'note.Transaction',
|
||||
on_delete=models.PROTECT,
|
||||
)
|
0
activity/tests/__init__.py
Normal file
0
activity/tests/__init__.py
Normal file
Reference in New Issue
Block a user