populate.py 20.1 KB
Newer Older
Skia's avatar
Skia committed
1
import os
Skia's avatar
Skia committed
2
from datetime import date, datetime
Skia's avatar
Skia committed
3
from io import StringIO
Skia's avatar
Skia committed
4

Skia's avatar
Skia committed
5
6
7
from django.core.management.base import BaseCommand, CommandError
from django.core.management import call_command
from django.conf import settings
Skia's avatar
Skia committed
8
from django.db import connection
9
from django.contrib.sites.models import Site
Skia's avatar
Skia committed
10
11


Skia's avatar
Skia committed
12
from core.models import Group, User, Page, PageRev, SithFile
Krophil's avatar
Krophil committed
13
from accounting.models import GeneralJournal, BankAccount, ClubAccount, Operation, AccountingType, SimplifiedAccountingType, Company
Skia's avatar
Skia committed
14
from club.models import Club, Membership
Skia's avatar
Skia committed
15
from subscription.models import Subscription
Skia's avatar
Skia committed
16
from counter.models import Customer, ProductType, Product, Counter
Skia's avatar
Skia committed
17
from com.models import Sith
Sli's avatar
Sli committed
18
19
from election.models import Election, Role, Candidature, ElectionList

Skia's avatar
Skia committed
20
21
22
23
24
25
26

class Command(BaseCommand):
    help = "Populate a new instance of the Sith AE"

    def add_arguments(self, parser):
        parser.add_argument('--prod', action="store_true")

27
28
29
30
31
32
    def reset_index(self, *args):
        sqlcmd = StringIO()
        call_command("sqlsequencereset", *args, stdout=sqlcmd)
        cursor = connection.cursor()
        cursor.execute(sqlcmd.getvalue())

Skia's avatar
Skia committed
33
    def handle(self, *args, **options):
Skia's avatar
Skia committed
34
        os.environ['DJANGO_COLORS'] = 'nocolor'
35
        Site(id=4000, domain=settings.SITH_URL, name=settings.SITH_NAME).save()
Skia's avatar
Skia committed
36
        root_path = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))
Skia's avatar
Skia committed
37
38
39
40
41
42
43
44
45
        Group(name="Root").save()
        Group(name="Not registered users").save()
        Group(name="Accounting admin").save()
        Group(name="Communication admin").save()
        Group(name="Counter admin").save()
        Group(name="Banned from buying alcohol").save()
        Group(name="Banned from counters").save()
        Group(name="Banned to subscribe").save()
        Group(name="SAS admin").save()
46
        self.reset_index("core", "auth")
Skia's avatar
Skia committed
47
        root = User(id=0, username='root', last_name="", first_name="Bibou",
Skia's avatar
Skia committed
48
49
50
                 email="ae.info@utbm.fr",
                 date_of_birth="1942-06-12",
                 is_superuser=True, is_staff=True)
Skia's avatar
Skia committed
51
52
        root.set_password("plop")
        root.save()
53
        SithFile(parent=None, name="profiles", is_folder=True, owner=root).save()
Skia's avatar
Skia committed
54
55
56
57
        home_root = SithFile(parent=None, name="users", is_folder=True, owner=root)
        home_root.save()
        club_root = SithFile(parent=None, name="clubs", is_folder=True, owner=root)
        club_root.save()
Skia's avatar
Skia committed
58
        SithFile(parent=None, name="SAS", is_folder=True, owner=root).save()
Skia's avatar
Skia committed
59
        main_club = Club(id=1, name=settings.SITH_MAIN_CLUB['name'], unix_name=settings.SITH_MAIN_CLUB['unix_name'],
Skia's avatar
Skia committed
60
                address=settings.SITH_MAIN_CLUB['address'])
61
        main_club.save()
Skia's avatar
Skia committed
62
        bar_club = Club(id=2, name=settings.SITH_BAR_MANAGER['name'], unix_name=settings.SITH_BAR_MANAGER['unix_name'],
63
64
                address=settings.SITH_BAR_MANAGER['address'])
        bar_club.save()
Skia's avatar
Skia committed
65
        launderette_club = Club(id=84, name=settings.SITH_LAUNDERETTE_MANAGER['name'],
66
67
68
                unix_name=settings.SITH_LAUNDERETTE_MANAGER['unix_name'],
                address=settings.SITH_LAUNDERETTE_MANAGER['address'])
        launderette_club.save()
69
        self.reset_index("club")
70
71
72
73
74
75
76
77
        for b in settings.SITH_COUNTER_BARS:
            g = Group(name=b[1]+" admin")
            g.save()
            c = Counter(id=b[0], name=b[1], club=bar_club, type='BAR')
            c.save()
            c.edit_groups = [g]
            c.save()
        self.reset_index("counter")
Skia's avatar
Skia committed
78
        Counter(name="Eboutic", club=main_club, type='EBOUTIC').save()
Sli's avatar
Sli committed
79
        Counter(name="AE", club=main_club, type='OFFICE').save()
Skia's avatar
Skia committed
80
81
82
83
84
85

        home_root.view_groups = [Group.objects.filter(name=settings.SITH_MAIN_MEMBERS_GROUP).first()]
        club_root.view_groups = [Group.objects.filter(name=settings.SITH_MAIN_MEMBERS_GROUP).first()]
        home_root.save()
        club_root.save()

Skia's avatar
Skia committed
86
87
        Sith().save()

Skia's avatar
Skia committed
88
89
90
        p = Page(name='Index')
        p.set_lock(root)
        p.save()
Skia's avatar
Skia committed
91
        p.view_groups=[settings.SITH_GROUP_PUBLIC_ID]
Skia's avatar
Skia committed
92
93
94
95
        p.set_lock(root)
        p.save()
        PageRev(page=p, title="Wiki index", author=root, content="""
Welcome to the wiki page!
Skia's avatar
Skia committed
96
97
98
99
100
""").save()

        p = Page(name="services")
        p.set_lock(root)
        p.save()
Skia's avatar
Skia committed
101
        p.view_groups=[settings.SITH_GROUP_PUBLIC_ID]
Skia's avatar
Skia committed
102
103
104
105
106
107
108
        p.set_lock(root)
        PageRev(page=p, title="Services", author=root, content="""
|   |   |   |
| :---: | :---: | :---: | :---: |
| [Eboutic](/eboutic) | [Laverie](/launderette) | Matmat | [Fichiers](/file) |
| SAS | Weekmail | Forum | |

Skia's avatar
Skia committed
109
""").save()
Skia's avatar
Skia committed
110

111
112
113
114
        p = Page(name="launderette")
        p.set_lock(root)
        p.save()
        p.set_lock(root)
115
        PageRev(page=p, title="Laverie", author=root, content="Fonctionnement de la laverie").save()
116

Skia's avatar
Skia committed
117
118
119
        # Here we add a lot of test datas, that are not necessary for the Sith, but that provide a basic development environment
        if not options['prod']:
            # Adding user Skia
Skia's avatar
Skia committed
120
            skia = User(username='skia', last_name="Kia", first_name="S'",
Skia's avatar
Skia committed
121
122
                     email="skia@git.an",
                     date_of_birth="1942-06-12")
Skia's avatar
Skia committed
123
124
125
126
            skia.set_password("plop")
            skia.save()
            skia.view_groups=[Group.objects.filter(name=settings.SITH_MAIN_MEMBERS_GROUP).first().id]
            skia.save()
Skia's avatar
Skia committed
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
            # Adding user public
            public = User(username='public', last_name="Not subscribed", first_name="Public",
                     email="public@git.an",
                     date_of_birth="1942-06-12",
                     is_superuser=False, is_staff=False)
            public.set_password("plop")
            public.save()
            public.view_groups=[Group.objects.filter(name=settings.SITH_MAIN_MEMBERS_GROUP).first().id]
            public.save()
            # Adding user Subscriber
            subscriber = User(username='subscriber', last_name="User", first_name="Subscribed",
                     email="Subscribed@git.an",
                     date_of_birth="1942-06-12",
                     is_superuser=False, is_staff=False)
            subscriber.set_password("plop")
            subscriber.save()
            subscriber.view_groups=[Group.objects.filter(name=settings.SITH_MAIN_MEMBERS_GROUP).first().id]
            subscriber.save()
145
146
147
148
149
150
151
152
            # Adding user Counter admin
            counter = User(username='counter', last_name="Ter", first_name="Coun",
                     email="counter@git.an",
                     date_of_birth="1942-06-12",
                     is_superuser=False, is_staff=False)
            counter.set_password("plop")
            counter.save()
            counter.view_groups=[Group.objects.filter(name=settings.SITH_MAIN_MEMBERS_GROUP).first().id]
Skia's avatar
Skia committed
153
            counter.groups=[Group.objects.filter(id=settings.SITH_GROUP_COUNTER_ADMIN_ID).first().id]
154
            counter.save()
Skia's avatar
Skia committed
155
156
157
158
159
160
161
162
            # Adding user Comptable
            comptable = User(username='comptable', last_name="Able", first_name="Compte",
                     email="compta@git.an",
                     date_of_birth="1942-06-12",
                     is_superuser=False, is_staff=False)
            comptable.set_password("plop")
            comptable.save()
            comptable.view_groups=[Group.objects.filter(name=settings.SITH_MAIN_MEMBERS_GROUP).first().id]
Skia's avatar
Skia committed
163
            comptable.groups=[Group.objects.filter(id=settings.SITH_GROUP_ACCOUNTING_ADMIN_ID).first().id]
Skia's avatar
Skia committed
164
            comptable.save()
Skia's avatar
Skia committed
165
166
167
168
169
170
171
            # Adding user Guy
            u = User(username='guy', last_name="Carlier", first_name="Guy",
                     email="guy@git.an",
                     date_of_birth="1942-06-12",
                     is_superuser=False, is_staff=False)
            u.set_password("plop")
            u.save()
Skia's avatar
Skia committed
172
            u.view_groups=[Group.objects.filter(name=settings.SITH_MAIN_MEMBERS_GROUP).first().id]
Skia's avatar
Skia committed
173
            u.save()
Skia's avatar
Skia committed
174
175
176
177
178
179
            # Adding user Richard Batsbak
            r = User(username='rbatsbak', last_name="Batsbak", first_name="Richard",
                     email="richard@git.an",
                     date_of_birth="1982-06-12")
            r.set_password("plop")
            r.save()
Skia's avatar
Skia committed
180
            r.view_groups=[Group.objects.filter(name=settings.SITH_MAIN_MEMBERS_GROUP).first().id]
Skia's avatar
Skia committed
181
            r.save()
Skia's avatar
Skia committed
182
183
            # Adding syntax help page
            p = Page(name='Aide_sur_la_syntaxe')
Skia's avatar
Skia committed
184
            p.save(force_lock=True)
Skia's avatar
Skia committed
185
            PageRev(page=p, title="Aide sur la syntaxe", author=skia, content="""
Skia's avatar
Skia committed
186
Cette page vise à documenter la syntaxe *Markdown* utilisée sur le site.
Skia's avatar
Skia committed
187
188
""").save()
            p = Page(name='Services')
Skia's avatar
Skia committed
189
            p.save(force_lock=True)
Skia's avatar
Skia committed
190
            p.view_groups=[settings.SITH_GROUP_PUBLIC_ID]
Skia's avatar
Skia committed
191
            p.save(force_lock=True)
Skia's avatar
Skia committed
192
193
194
195
196
197
            PageRev(page=p, title="Services", author=skia, content="""
|   |   |   |
| :---: | :---: | :---: |
| [Eboutic](/eboutic) | [Laverie](/launderette) | Matmat |
| SAS | Weekmail | Forum|

Skia's avatar
Skia committed
198
199
200
""").save()
            # Adding README
            p = Page(name='README')
Skia's avatar
Skia committed
201
            p.save(force_lock=True)
Skia's avatar
Skia committed
202
            p.view_groups=[settings.SITH_GROUP_PUBLIC_ID]
Skia's avatar
Skia committed
203
            p.save(force_lock=True)
Skia's avatar
Skia committed
204
            with open(os.path.join(root_path)+'/README.md', 'r') as rm:
205
                PageRev(page=p, title="README", author=skia, content=rm.read()).save()
Skia's avatar
Skia committed
206
207

            # Subscription
Skia's avatar
Skia committed
208
            ## Root
Skia's avatar
Skia committed
209
            s = Subscription(member=User.objects.filter(pk=root.pk).first(), subscription_type=list(settings.SITH_SUBSCRIPTIONS.keys())[0],
Skia's avatar
Skia committed
210
211
212
213
214
215
                    payment_method=settings.SITH_SUBSCRIPTION_PAYMENT_METHOD[0])
            s.subscription_start = s.compute_start()
            s.subscription_end = s.compute_end(
                    duration=settings.SITH_SUBSCRIPTIONS[s.subscription_type]['duration'],
                    start=s.subscription_start)
            s.save()
Skia's avatar
Skia committed
216
            ## Skia
Skia's avatar
Skia committed
217
            s = Subscription(member=User.objects.filter(pk=skia.pk).first(), subscription_type=list(settings.SITH_SUBSCRIPTIONS.keys())[0],
Skia's avatar
Skia committed
218
219
220
221
222
223
                    payment_method=settings.SITH_SUBSCRIPTION_PAYMENT_METHOD[0])
            s.subscription_start = s.compute_start()
            s.subscription_end = s.compute_end(
                    duration=settings.SITH_SUBSCRIPTIONS[s.subscription_type]['duration'],
                    start=s.subscription_start)
            s.save()
Skia's avatar
Skia committed
224
            ## Comptable
Skia's avatar
Skia committed
225
            s = Subscription(member=User.objects.filter(pk=comptable.pk).first(), subscription_type=list(settings.SITH_SUBSCRIPTIONS.keys())[0],
Skia's avatar
Skia committed
226
227
228
229
230
231
                    payment_method=settings.SITH_SUBSCRIPTION_PAYMENT_METHOD[0])
            s.subscription_start = s.compute_start()
            s.subscription_end = s.compute_end(
                    duration=settings.SITH_SUBSCRIPTIONS[s.subscription_type]['duration'],
                    start=s.subscription_start)
            s.save()
Skia's avatar
Skia committed
232
            ## Richard
Skia's avatar
Skia committed
233
            s = Subscription(member=User.objects.filter(pk=r.pk).first(), subscription_type=list(settings.SITH_SUBSCRIPTIONS.keys())[0],
Skia's avatar
Skia committed
234
235
236
237
238
239
                    payment_method=settings.SITH_SUBSCRIPTION_PAYMENT_METHOD[0])
            s.subscription_start = s.compute_start()
            s.subscription_end = s.compute_end(
                    duration=settings.SITH_SUBSCRIPTIONS[s.subscription_type]['duration'],
                    start=s.subscription_start)
            s.save()
Skia's avatar
Skia committed
240
241
            ## User
            s = Subscription(member=User.objects.filter(pk=subscriber.pk).first(), subscription_type=list(settings.SITH_SUBSCRIPTIONS.keys())[0],
Skia's avatar
Skia committed
242
243
244
245
246
247
                    payment_method=settings.SITH_SUBSCRIPTION_PAYMENT_METHOD[0])
            s.subscription_start = s.compute_start()
            s.subscription_end = s.compute_end(
                    duration=settings.SITH_SUBSCRIPTIONS[s.subscription_type]['duration'],
                    start=s.subscription_start)
            s.save()
Skia's avatar
Skia committed
248
249
250

            # Clubs
            Club(name="Bibo'UT", unix_name="bibout",
251
                    address="46 de la Boustifaille", parent=main_club).save()
Skia's avatar
Skia committed
252
            guyut = Club(name="Guy'UT", unix_name="guyut",
253
                    address="42 de la Boustifaille", parent=main_club)
Skia's avatar
Skia committed
254
255
256
            guyut.save()
            Club(name="Woenzel'UT", unix_name="woenzel",
                    address="Woenzel", parent=guyut).save()
257
            Membership(user=skia, club=main_club, role=3, description="").save()
Skia's avatar
Skia committed
258
            troll = Club(name="Troll Penché", unix_name="troll",
259
                    address="Terre Du Milieu", parent=main_club)
Skia's avatar
Skia committed
260
            troll.save()
Sli's avatar
Sli committed
261
262
263
            refound = Club(name="Carte AE", unix_name="carte_ae",
                    address="Jamais imprimée", parent=main_club)
            refound.save()
Skia's avatar
Skia committed
264

Skia's avatar
Skia committed
265
266
            # Counters
            Customer(user=skia, account_id="6568j", amount=0).save()
267
            Customer(user=r, account_id="4000", amount=0).save()
Skia's avatar
Skia committed
268
269
            p = ProductType(name="Bières bouteilles")
            p.save()
Skia's avatar
Skia committed
270
            barb = Product(name="Barbar", code="BARB", product_type=p, purchase_price="1.50", selling_price="1.7",
271
                    special_selling_price="1.6", club=main_club)
Skia's avatar
Skia committed
272
273
            barb.save()
            cble = Product(name="Chimay Bleue", code="CBLE", product_type=p, purchase_price="1.50", selling_price="1.7",
274
                    special_selling_price="1.6", club=main_club)
Skia's avatar
Skia committed
275
            cble.save()
Skia's avatar
Skia committed
276
            Product(name="Corsendonk", code="CORS", product_type=p, purchase_price="1.50", selling_price="1.7",
277
                    special_selling_price="1.6", club=main_club).save()
Skia's avatar
Skia committed
278
            Product(name="Carolus", code="CARO", product_type=p, purchase_price="1.50", selling_price="1.7",
279
280
                    special_selling_price="1.6", club=main_club).save()
            mde = Counter.objects.filter(name="MDE").first()
Skia's avatar
Skia committed
281
282
283
            mde.products.add(barb)
            mde.products.add(cble)
            mde.save()
Sli's avatar
Sli committed
284
285
286
287
288
289

            refound_counter = Counter(name="Carte AE", club=refound, type='OFFICE')
            refound_counter.save()
            refound_product = Product(name="remboursement", code="REMBOURS", purchase_price="0", selling_price="0",
                    special_selling_price="0", club=refound)
            refound_product.save()
Skia's avatar
Skia committed
290
291

            # Accounting test values:
292
293
294
            BankAccount(name="AE TG", club=main_club).save()
            BankAccount(name="Carte AE", club=main_club).save()
            ba = BankAccount(name="AE TI", club=main_club)
295
296
297
            ba.save()
            ca = ClubAccount(name="Troll Penché", bank_account=ba, club=troll)
            ca.save()
Skia's avatar
Skia committed
298
299
            gj = GeneralJournal(name="A16", start_date=date.today(), club_account=ca)
            gj.save()
Krophil's avatar
Krophil committed
300
            credit = AccountingType(code='74', label="Subventions d'exploitation", movement_type='CREDIT')
Skia's avatar
Skia committed
301
            credit.save()
Krophil's avatar
Krophil committed
302
            debit = AccountingType(code='606', label="Achats non stockés de matières et fournitures(*1)", movement_type='DEBIT')
Skia's avatar
Skia committed
303
            debit.save()
Krophil's avatar
Krophil committed
304
305
306
307
            debit2 = AccountingType(code='604', label="Achats d'études et prestations de services(*2)", movement_type='DEBIT')
            debit2.save()
            buying = AccountingType(code='60', label="Achats (sauf 603)", movement_type='DEBIT')
            buying.save()
Krophil's avatar
Krophil committed
308
309
310
311
            comptes = AccountingType(code='6', label="Comptes de charge", movement_type='DEBIT')
            comptes.save()
            simple = SimplifiedAccountingType(label = 'Je fais du simple 6', accounting_type = comptes, movement_type='DEBIT')
            simple.save()
Skia's avatar
Skia committed
312
313
            woenzco = Company(name="Woenzel & co")
            woenzco.save()
Sli's avatar
Sli committed
314
315
316
317
318
319
320
321
            # Adding user sli
            sli = User(username='sli', last_name="Li", first_name="S",
                       email="sli@git.an",
                       date_of_birth="1942-06-12")
            sli.set_password("plop")
            sli.save()
            skia.view_groups=[Group.objects.filter(name=settings.SITH_MAIN_MEMBERS_GROUP).first().id]
            sli.save()
Sli's avatar
Sli committed
322
323
324
325
326
327
            # Adding user Krophil
            krophil = User(username='krophil', last_name="Phil'", first_name="Kro",
                           email="krophil@git.an",
                           date_of_birth="1942-06-12")
            krophil.set_password("plop")
            krophil.save()
Sli's avatar
Sli committed
328
329
330
331
332
333
334
335
            ## Adding subscription for sli
            s = Subscription(member=User.objects.filter(pk=sli.pk).first(), subscription_type=list(settings.SITH_SUBSCRIPTIONS.keys())[0],
                    payment_method=settings.SITH_SUBSCRIPTION_PAYMENT_METHOD[0])
            s.subscription_start = s.compute_start()
            s.subscription_end = s.compute_end(
                    duration=settings.SITH_SUBSCRIPTIONS[s.subscription_type]['duration'],
                    start=s.subscription_start)
            s.save()
Sli's avatar
Sli committed
336
337
338
339
340
341
342
343
            ## Adding subscription for Krophil
            s = Subscription(member=User.objects.filter(pk=krophil.pk).first(), subscription_type=list(settings.SITH_SUBSCRIPTIONS.keys())[0],
                    payment_method=settings.SITH_SUBSCRIPTION_PAYMENT_METHOD[0])
            s.subscription_start = s.compute_start()
            s.subscription_end = s.compute_end(
                    duration=settings.SITH_SUBSCRIPTIONS[s.subscription_type]['duration'],
                    start=s.subscription_start)
            s.save()
Krophil's avatar
Krophil committed
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363

            operation_list = [
                            (27, "J'avais trop de bière", 'CASH', None, buying, 'USER', skia.id, "", None), 
                            (4000, "Ceci n'est pas une opération... en fait si mais non", 'CHECK', None, debit,'COMPANY', woenzco.id, "", 23),
                            (22, "C'est de l'argent ?", 'CARD', None, credit, 'CLUB', troll.id, "", None),
                            (37, "Je paye CASH", 'CASH', None, debit2, 'OTHER', None, "tous les étudiants <3", None),
                            (300, "Paiement Guy", 'CASH', None, buying, 'USER', skia.id, "", None),
                            (32.3, "Essence", 'CASH', None, buying, 'OTHER', None, "station", None),
                            (46.42, "Allumette", 'CHECK', None, credit, 'CLUB', main_club.id, "", 57),
                            (666.42, "Subvention de far far away", 'CASH', None, comptes, 'CLUB', main_club.id, "", None),
                            (496, "Ça, c'est un 6", 'CARD', simple, None, 'USER', skia.id, "", None),
                            (17, "La Gargotte du Korrigan", 'CASH', None, debit2, 'CLUB', bar_club.id, "", None),
                            ]
            for op in operation_list:
                operation = Operation(journal=gj, date=date.today(), amount=op[0], 
                    remark=op[1], mode=op[2], done=True, simpleaccounting_type=op[3], 
                    accounting_type=op[4], target_type=op[5], target_id=op[6], 
                    target_label=op[7], cheque_number=op[8])
                operation.clean()
                operation.save()
Sli's avatar
Sli committed
364
365

            # Create an election
Sli's avatar
Sli committed
366
367
368
            public_group = Group.objects.get(id=settings.SITH_GROUP_PUBLIC_ID)
            subscriber_group = Group.objects.get(name=settings.SITH_MAIN_MEMBERS_GROUP)
            ae_board_gorup = Group.objects.get(name=settings.SITH_MAIN_BOARD_GROUP)
Sli's avatar
Sli committed
369
370
            el = Election(title="Élection 2017", description="La roue tourne", start_candidature='1942-06-12 10:28:45', end_candidature='2042-06-12 10:28:45',start_date='1942-06-12 10:28:45', end_date='7942-06-12 10:28:45')
            el.save()
Sli's avatar
Sli committed
371
372
            el.view_groups.add(public_group)
            el.edit_groups.add(ae_board_gorup)
373
374
            el.candidature_groups.add(subscriber_group)
            el.vote_groups.add(subscriber_group)
Sli's avatar
Sli committed
375
            el.save()
Sli's avatar
Sli committed
376
            liste = ElectionList(title="Candidature Libre", election=el)
Sli's avatar
Sli committed
377
            liste.save()
Sli's avatar
Sli committed
378
            listeT = ElectionList(title="Troll", election=el)
Sli's avatar
Sli committed
379
380
381
            listeT.save()
            pres = Role(election=el, title="Président AE", description="Roi de l'AE")
            pres.save()
Sli's avatar
Sli committed
382
383
            resp = Role(election=el, title="Co Respo Info", description="Ghetto++")
            resp.save()
Sli's avatar
Sli committed
384
            cand = Candidature(role=resp, user=skia, election_list=liste, program="Refesons le site AE")
Sli's avatar
Sli committed
385
            cand.save()
Sli's avatar
Sli committed
386
            cand = Candidature(role=resp, user=sli, election_list=liste, program="Vasy je deviens mon propre adjoint")
Sli's avatar
Sli committed
387
            cand.save()
Sli's avatar
Sli committed
388
            cand = Candidature(role=resp, user=krophil, election_list=listeT, program="Le Pôle Troll !")
Sli's avatar
Sli committed
389
            cand.save()
Sli's avatar
Sli committed
390
            cand = Candidature(role=pres, user=sli, election_list=listeT, program="En fait j'aime pas l'info, je voulais faire GMC")
Sli's avatar
Sli committed
391
            cand.save()
Krophil's avatar
Krophil committed
392