2016-03-22 08:01:24 +00:00
import os
2016-08-07 18:10:50 +00:00
from datetime import date , datetime
2016-12-21 20:17:31 +00:00
from io import StringIO , BytesIO
2016-07-14 14:13:43 +00:00
2016-03-22 08:01:24 +00:00
from django . core . management . base import BaseCommand , CommandError
from django . core . management import call_command
from django . conf import settings
2016-07-14 15:50:02 +00:00
from django . db import connection
2016-08-13 14:39:09 +00:00
from django . contrib . sites . models import Site
2016-03-22 08:01:24 +00:00
2016-12-21 20:17:31 +00:00
from PIL import Image
2016-03-22 08:01:24 +00:00
2016-08-10 14:23:12 +00:00
from core . models import Group , User , Page , PageRev , SithFile
2016-12-24 00:02:40 +00:00
from accounting . models import GeneralJournal , BankAccount , ClubAccount , Operation , AccountingType , SimplifiedAccountingType , Company
2016-12-21 20:17:31 +00:00
from core . utils import resize_image
2016-03-29 08:30:24 +00:00
from club . models import Club , Membership
2016-12-10 00:58:30 +00:00
from subscription . models import Subscription
2016-05-31 17:32:15 +00:00
from counter . models import Customer , ProductType , Product , Counter
2016-12-21 01:38:21 +00:00
from com . models import Sith
2016-12-19 15:45:38 +00:00
from election . models import Election , Role , Candidature , ElectionList
2016-03-22 08:01:24 +00:00
class Command ( BaseCommand ) :
help = " Populate a new instance of the Sith AE "
def add_arguments ( self , parser ) :
parser . add_argument ( ' --prod ' , action = " store_true " )
2016-07-17 22:47:56 +00:00
def reset_index ( self , * args ) :
sqlcmd = StringIO ( )
call_command ( " sqlsequencereset " , * args , stdout = sqlcmd )
cursor = connection . cursor ( )
cursor . execute ( sqlcmd . getvalue ( ) )
2016-03-22 08:01:24 +00:00
def handle ( self , * args , * * options ) :
2016-07-14 15:50:02 +00:00
os . environ [ ' DJANGO_COLORS ' ] = ' nocolor '
2016-08-13 14:39:09 +00:00
Site ( id = 4000 , domain = settings . SITH_URL , name = settings . SITH_NAME ) . save ( )
2016-03-22 08:01:24 +00:00
root_path = os . path . dirname ( os . path . dirname ( os . path . dirname ( os . path . dirname ( __file__ ) ) ) )
2016-12-10 00:29:56 +00:00
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 ( )
2016-07-17 22:47:56 +00:00
self . reset_index ( " core " , " auth " )
2016-08-13 03:33:09 +00:00
root = User ( id = 0 , username = ' root ' , last_name = " " , first_name = " Bibou " ,
2016-03-22 08:01:24 +00:00
email = " ae.info@utbm.fr " ,
date_of_birth = " 1942-06-12 " ,
is_superuser = True , is_staff = True )
2016-03-22 16:46:26 +00:00
root . set_password ( " plop " )
root . save ( )
2016-12-21 20:17:31 +00:00
profiles_root = SithFile ( parent = None , name = " profiles " , is_folder = True , owner = root )
profiles_root . save ( )
2016-08-10 14:23:12 +00:00
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 ( )
2016-10-26 17:21:19 +00:00
SithFile ( parent = None , name = " SAS " , is_folder = True , owner = root ) . save ( )
2016-08-13 14:08:02 +00:00
main_club = Club ( id = 1 , name = settings . SITH_MAIN_CLUB [ ' name ' ] , unix_name = settings . SITH_MAIN_CLUB [ ' unix_name ' ] ,
2016-03-31 08:36:00 +00:00
address = settings . SITH_MAIN_CLUB [ ' address ' ] )
2016-07-17 22:47:56 +00:00
main_club . save ( )
2016-08-13 14:08:02 +00:00
bar_club = Club ( id = 2 , name = settings . SITH_BAR_MANAGER [ ' name ' ] , unix_name = settings . SITH_BAR_MANAGER [ ' unix_name ' ] ,
2016-07-17 22:47:56 +00:00
address = settings . SITH_BAR_MANAGER [ ' address ' ] )
bar_club . save ( )
2016-08-13 14:08:02 +00:00
launderette_club = Club ( id = 84 , name = settings . SITH_LAUNDERETTE_MANAGER [ ' name ' ] ,
2016-08-01 14:36:16 +00:00
unix_name = settings . SITH_LAUNDERETTE_MANAGER [ ' unix_name ' ] ,
address = settings . SITH_LAUNDERETTE_MANAGER [ ' address ' ] )
launderette_club . save ( )
2016-08-29 01:02:13 +00:00
self . reset_index ( " club " )
2016-07-17 22:47:56 +00:00
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 " )
2016-07-28 18:05:56 +00:00
Counter ( name = " Eboutic " , club = main_club , type = ' EBOUTIC ' ) . save ( )
2016-11-30 01:41:25 +00:00
Counter ( name = " AE " , club = main_club , type = ' OFFICE ' ) . save ( )
2016-08-10 14:23:12 +00:00
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 ( )
2016-12-21 01:38:21 +00:00
Sith ( ) . save ( )
2016-03-22 16:46:26 +00:00
p = Page ( name = ' Index ' )
p . set_lock ( root )
p . save ( )
2016-12-10 00:29:56 +00:00
p . view_groups = [ settings . SITH_GROUP_PUBLIC_ID ]
2016-03-22 16:46:26 +00:00
p . set_lock ( root )
p . save ( )
PageRev ( page = p , title = " Wiki index " , author = root , content = """
Welcome to the wiki page !
2016-08-13 03:33:09 +00:00
""" ).save()
p = Page ( name = " services " )
p . set_lock ( root )
p . save ( )
2016-12-10 00:29:56 +00:00
p . view_groups = [ settings . SITH_GROUP_PUBLIC_ID ]
2016-08-13 03:33:09 +00:00
p . set_lock ( root )
PageRev ( page = p , title = " Services " , author = root , content = """
| | | |
| : - - - : | : - - - : | : - - - : | : - - - : |
| [ Eboutic ] ( / eboutic ) | [ Laverie ] ( / launderette ) | Matmat | [ Fichiers ] ( / file ) |
| SAS | Weekmail | Forum | |
2016-03-22 16:46:26 +00:00
""" ).save()
2016-03-22 08:01:24 +00:00
2016-08-01 14:36:16 +00:00
p = Page ( name = " launderette " )
p . set_lock ( root )
p . save ( )
p . set_lock ( root )
2016-08-01 17:59:22 +00:00
PageRev ( page = p , title = " Laverie " , author = root , content = " Fonctionnement de la laverie " ) . save ( )
2016-08-01 14:36:16 +00:00
2016-03-22 08:01:24 +00:00
# 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
2016-05-09 09:49:01 +00:00
skia = User ( username = ' skia ' , last_name = " Kia " , first_name = " S ' " ,
2016-03-22 08:01:24 +00:00
email = " skia@git.an " ,
date_of_birth = " 1942-06-12 " )
2016-05-09 09:49:01 +00:00
skia . set_password ( " plop " )
skia . save ( )
skia . view_groups = [ Group . objects . filter ( name = settings . SITH_MAIN_MEMBERS_GROUP ) . first ( ) . id ]
skia . save ( )
2016-12-21 20:17:31 +00:00
skia_profile_path = os . path . join ( root_path , ' core/fixtures/images/3.jpg ' )
with open ( skia_profile_path , ' rb ' ) as f :
name = str ( skia . id ) + " _profile.jpg "
skia_profile = SithFile ( parent = profiles_root , name = name ,
file = resize_image ( Image . open ( BytesIO ( f . read ( ) ) ) , 400 , ' JPEG ' ) ,
owner = skia , is_folder = False , mime_type = ' image/jpeg ' , size = os . path . getsize ( skia_profile_path ) )
skia_profile . file . name = name
skia_profile . save ( )
skia . profile_pict = skia_profile
skia . save ( )
2016-05-03 10:06:03 +00:00
# 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 ( )
2016-07-17 22:47:56 +00:00
# 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 ]
2016-12-10 00:29:56 +00:00
counter . groups = [ Group . objects . filter ( id = settings . SITH_GROUP_COUNTER_ADMIN_ID ) . first ( ) . id ]
2016-07-17 22:47:56 +00:00
counter . save ( )
2016-05-09 09:49:01 +00:00
# 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 ]
2016-12-10 00:29:56 +00:00
comptable . groups = [ Group . objects . filter ( id = settings . SITH_GROUP_ACCOUNTING_ADMIN_ID ) . first ( ) . id ]
2016-05-09 09:49:01 +00:00
comptable . save ( )
2016-03-22 08:01:24 +00:00
# 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 ( )
2016-03-31 08:36:00 +00:00
u . view_groups = [ Group . objects . filter ( name = settings . SITH_MAIN_MEMBERS_GROUP ) . first ( ) . id ]
2016-03-24 10:55:39 +00:00
u . save ( )
2016-03-22 08:01:24 +00:00
# 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 ( )
2016-03-31 08:36:00 +00:00
r . view_groups = [ Group . objects . filter ( name = settings . SITH_MAIN_MEMBERS_GROUP ) . first ( ) . id ]
2016-03-24 10:55:39 +00:00
r . save ( )
2016-03-22 08:01:24 +00:00
# Adding syntax help page
p = Page ( name = ' Aide_sur_la_syntaxe ' )
2016-11-05 12:37:30 +00:00
p . save ( force_lock = True )
2016-05-09 09:49:01 +00:00
PageRev ( page = p , title = " Aide sur la syntaxe " , author = skia , content = """
2016-03-22 08:01:24 +00:00
Cette page vise à documenter la syntaxe * Markdown * utilisée sur le site .
2016-07-28 18:05:56 +00:00
""" ).save()
p = Page ( name = ' Services ' )
2016-11-05 12:37:30 +00:00
p . save ( force_lock = True )
2016-12-10 00:29:56 +00:00
p . view_groups = [ settings . SITH_GROUP_PUBLIC_ID ]
2016-11-05 12:37:30 +00:00
p . save ( force_lock = True )
2016-07-28 18:05:56 +00:00
PageRev ( page = p , title = " Services " , author = skia , content = """
| | | |
| : - - - : | : - - - : | : - - - : |
| [ Eboutic ] ( / eboutic ) | [ Laverie ] ( / launderette ) | Matmat |
| SAS | Weekmail | Forum |
2016-03-22 08:01:24 +00:00
""" ).save()
# Adding README
p = Page ( name = ' README ' )
2016-11-05 12:37:30 +00:00
p . save ( force_lock = True )
2016-12-10 00:29:56 +00:00
p . view_groups = [ settings . SITH_GROUP_PUBLIC_ID ]
2016-11-05 12:37:30 +00:00
p . save ( force_lock = True )
2016-03-22 08:01:24 +00:00
with open ( os . path . join ( root_path ) + ' /README.md ' , ' r ' ) as rm :
2016-07-16 14:35:45 +00:00
PageRev ( page = p , title = " README " , author = skia , content = rm . read ( ) ) . save ( )
2016-03-22 08:01:24 +00:00
# Subscription
2016-10-26 17:21:19 +00:00
## Root
2016-12-10 00:58:30 +00:00
s = Subscription ( member = User . objects . filter ( pk = root . pk ) . first ( ) , subscription_type = list ( settings . SITH_SUBSCRIPTIONS . keys ( ) ) [ 0 ] ,
2016-10-26 17:21:19 +00:00
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 ( )
2016-03-31 08:36:00 +00:00
## Skia
2016-12-10 00:58:30 +00:00
s = Subscription ( member = User . objects . filter ( pk = skia . pk ) . first ( ) , subscription_type = list ( settings . SITH_SUBSCRIPTIONS . keys ( ) ) [ 0 ] ,
2016-07-14 14:13:43 +00:00
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 ( )
2016-05-09 09:49:01 +00:00
## Comptable
2016-12-10 00:58:30 +00:00
s = Subscription ( member = User . objects . filter ( pk = comptable . pk ) . first ( ) , subscription_type = list ( settings . SITH_SUBSCRIPTIONS . keys ( ) ) [ 0 ] ,
2016-07-14 14:13:43 +00:00
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 ( )
2016-03-31 08:36:00 +00:00
## Richard
2016-12-10 00:58:30 +00:00
s = Subscription ( member = User . objects . filter ( pk = r . pk ) . first ( ) , subscription_type = list ( settings . SITH_SUBSCRIPTIONS . keys ( ) ) [ 0 ] ,
2016-07-14 14:13:43 +00:00
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 ( )
2016-12-10 00:58:30 +00:00
## User
s = Subscription ( member = User . objects . filter ( pk = subscriber . pk ) . first ( ) , subscription_type = list ( settings . SITH_SUBSCRIPTIONS . keys ( ) ) [ 0 ] ,
2016-07-14 14:13:43 +00:00
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 ( )
2016-03-22 08:01:24 +00:00
# Clubs
Club ( name = " Bibo ' UT " , unix_name = " bibout " ,
2016-07-17 22:47:56 +00:00
address = " 46 de la Boustifaille " , parent = main_club ) . save ( )
2016-03-22 08:01:24 +00:00
guyut = Club ( name = " Guy ' UT " , unix_name = " guyut " ,
2016-07-17 22:47:56 +00:00
address = " 42 de la Boustifaille " , parent = main_club )
2016-03-22 08:01:24 +00:00
guyut . save ( )
Club ( name = " Woenzel ' UT " , unix_name = " woenzel " ,
address = " Woenzel " , parent = guyut ) . save ( )
2016-07-17 22:47:56 +00:00
Membership ( user = skia , club = main_club , role = 3 , description = " " ) . save ( )
2016-04-20 01:30:49 +00:00
troll = Club ( name = " Troll Penché " , unix_name = " troll " ,
2016-07-17 22:47:56 +00:00
address = " Terre Du Milieu " , parent = main_club )
2016-04-20 01:30:49 +00:00
troll . save ( )
2016-12-15 11:17:19 +00:00
refound = Club ( name = " Carte AE " , unix_name = " carte_ae " ,
address = " Jamais imprimée " , parent = main_club )
refound . save ( )
2016-03-22 08:01:24 +00:00
2016-05-31 17:32:15 +00:00
# Counters
Customer ( user = skia , account_id = " 6568j " , amount = 0 ) . save ( )
2016-05-31 23:33:20 +00:00
Customer ( user = r , account_id = " 4000 " , amount = 0 ) . save ( )
2016-03-22 08:01:24 +00:00
p = ProductType ( name = " Bières bouteilles " )
p . save ( )
2016-05-31 17:32:15 +00:00
barb = Product ( name = " Barbar " , code = " BARB " , product_type = p , purchase_price = " 1.50 " , selling_price = " 1.7 " ,
2016-07-17 22:47:56 +00:00
special_selling_price = " 1.6 " , club = main_club )
2016-05-31 17:32:15 +00:00
barb . save ( )
cble = Product ( name = " Chimay Bleue " , code = " CBLE " , product_type = p , purchase_price = " 1.50 " , selling_price = " 1.7 " ,
2016-07-17 22:47:56 +00:00
special_selling_price = " 1.6 " , club = main_club )
2016-05-31 17:32:15 +00:00
cble . save ( )
2016-03-29 08:30:24 +00:00
Product ( name = " Corsendonk " , code = " CORS " , product_type = p , purchase_price = " 1.50 " , selling_price = " 1.7 " ,
2016-07-17 22:47:56 +00:00
special_selling_price = " 1.6 " , club = main_club ) . save ( )
2016-03-29 08:30:24 +00:00
Product ( name = " Carolus " , code = " CARO " , product_type = p , purchase_price = " 1.50 " , selling_price = " 1.7 " ,
2016-07-17 22:47:56 +00:00
special_selling_price = " 1.6 " , club = main_club ) . save ( )
mde = Counter . objects . filter ( name = " MDE " ) . first ( )
2016-05-31 17:32:15 +00:00
mde . products . add ( barb )
mde . products . add ( cble )
mde . save ( )
2016-12-15 11:17:19 +00:00
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 ( )
2016-05-31 17:32:15 +00:00
# Accounting test values:
2016-07-17 22:47:56 +00:00
BankAccount ( name = " AE TG " , club = main_club ) . save ( )
BankAccount ( name = " Carte AE " , club = main_club ) . save ( )
ba = BankAccount ( name = " AE TI " , club = main_club )
2016-04-20 00:07:01 +00:00
ba . save ( )
ca = ClubAccount ( name = " Troll Penché " , bank_account = ba , club = troll )
ca . save ( )
2016-08-07 18:10:50 +00:00
gj = GeneralJournal ( name = " A16 " , start_date = date . today ( ) , club_account = ca )
gj . save ( )
2016-12-22 00:02:32 +00:00
credit = AccountingType ( code = ' 74 ' , label = " Subventions d ' exploitation " , movement_type = ' CREDIT ' )
2016-08-07 18:10:50 +00:00
credit . save ( )
2016-12-22 00:02:32 +00:00
debit = AccountingType ( code = ' 606 ' , label = " Achats non stockés de matières et fournitures(*1) " , movement_type = ' DEBIT ' )
2016-08-07 18:10:50 +00:00
debit . save ( )
2016-12-22 00:02:32 +00:00
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 ( )
2016-12-24 00:02:40 +00:00
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 ( )
2016-12-21 23:29:54 +00:00
t = AccountingType ( code = ' 602 ' , label = " Gros test de malade " , movement_type = ' DEBIT ' )
t . save ( )
Operation ( journal = gj , date = date . today ( ) , amount = 32.3 , remark = " ... " , mode = " CASH " , done = True , accounting_type = t , target_type = " USER " , target_id = skia . id ) . save ( )
t = AccountingType ( code = ' 60 ' , label = " ... " , movement_type = ' DEBIT ' )
t . save ( )
Operation ( journal = gj , date = date . today ( ) , amount = 32.3 , remark = " ... " , mode = " CASH " , done = True , accounting_type = t , target_type = " USER " , target_id = skia . id ) . save ( )
Operation ( journal = gj , date = date . today ( ) , amount = 46.42 , remark = " An answer to life... " , mode = " CASH " , done = True , accounting_type = t , target_type = " USER " , target_id = skia . id ) . save ( )
Operation ( journal = gj , date = date . today ( ) , amount = 666.42 ,
remark = " An answer to life... " , mode = " CASH " , done = True , accounting_type = credit , target_type = " USER " ,
target_id = skia . id ) . save ( )
Operation ( journal = gj , date = date . today ( ) , amount = 42 ,
remark = " An answer to life... " , mode = " CASH " , done = False , accounting_type = debit , target_type = " CLUB " ,
target_id = bar_club . id ) . save ( )
2016-08-07 18:10:50 +00:00
woenzco = Company ( name = " Woenzel & co " )
woenzco . save ( )
2016-12-13 21:22:19 +00:00
# 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 ( )
2016-12-22 00:57:17 +00:00
sli . view_groups = [ Group . objects . filter ( name = settings . SITH_MAIN_MEMBERS_GROUP ) . first ( ) . id ]
2016-12-13 21:22:19 +00:00
sli . save ( )
2016-12-21 20:17:31 +00:00
sli_profile_path = os . path . join ( root_path , ' core/fixtures/images/5.jpg ' )
with open ( sli_profile_path , ' rb ' ) as f :
name = str ( sli . id ) + " _profile.jpg "
sli_profile = SithFile ( parent = profiles_root , name = name ,
file = resize_image ( Image . open ( BytesIO ( f . read ( ) ) ) , 400 , ' JPEG ' ) ,
owner = sli , is_folder = False , mime_type = ' image/jpeg ' , size = os . path . getsize ( sli_profile_path ) )
sli_profile . file . name = name
sli_profile . save ( )
sli . profile_pict = sli_profile
sli . save ( )
2016-12-19 02:54:57 +00:00
# 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 ( )
2016-12-21 20:17:31 +00:00
krophil_profile_path = os . path . join ( root_path , ' core/fixtures/images/6.jpg ' )
with open ( krophil_profile_path , ' rb ' ) as f :
name = str ( krophil . id ) + " _profile.jpg "
krophil_profile = SithFile ( parent = profiles_root , name = name ,
file = resize_image ( Image . open ( BytesIO ( f . read ( ) ) ) , 400 , ' JPEG ' ) ,
owner = krophil , is_folder = False , mime_type = ' image/jpeg ' , size = os . path . getsize ( krophil_profile_path ) )
krophil_profile . file . name = name
krophil_profile . save ( )
krophil . profile_pict = krophil_profile
krophil . save ( )
2016-12-13 21:22:19 +00:00
## 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 ( )
2016-12-19 02:54:57 +00:00
## 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 ( )
2016-12-24 00:02:40 +00:00
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 ( )
2016-12-05 19:18:03 +00:00
# Create an election
2016-12-19 19:30:19 +00:00
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 )
2016-12-21 23:29:54 +00:00
el = Election ( title = " Élection 2017 " , description = " La roue tourne " , start_candidature = ' 1942-06-12 10:28:45+01 ' ,
end_candidature = ' 2042-06-12 10:28:45+01 ' , start_date = ' 1942-06-12 10:28:45+01 ' ,
end_date = ' 7942-06-12 10:28:45+01 ' )
2016-12-14 17:10:15 +00:00
el . save ( )
2016-12-19 19:30:19 +00:00
el . view_groups . add ( public_group )
el . edit_groups . add ( ae_board_gorup )
2016-12-20 15:00:14 +00:00
el . candidature_groups . add ( subscriber_group )
el . vote_groups . add ( subscriber_group )
2016-12-19 19:30:19 +00:00
el . save ( )
2016-12-19 15:45:38 +00:00
liste = ElectionList ( title = " Candidature Libre " , election = el )
2016-12-14 17:10:15 +00:00
liste . save ( )
2016-12-19 15:45:38 +00:00
listeT = ElectionList ( title = " Troll " , election = el )
2016-12-19 02:54:57 +00:00
listeT . save ( )
pres = Role ( election = el , title = " Président AE " , description = " Roi de l ' AE " )
pres . save ( )
2016-12-22 00:28:51 +00:00
resp = Role ( election = el , title = " Co Respo Info " , max_choice = 2 , description = " Ghetto++ " )
2016-12-14 17:10:15 +00:00
resp . save ( )
2016-12-19 15:45:38 +00:00
cand = Candidature ( role = resp , user = skia , election_list = liste , program = " Refesons le site AE " )
2016-12-14 17:10:15 +00:00
cand . save ( )
2016-12-19 15:45:38 +00:00
cand = Candidature ( role = resp , user = sli , election_list = liste , program = " Vasy je deviens mon propre adjoint " )
2016-12-19 02:54:57 +00:00
cand . save ( )
2016-12-19 15:45:38 +00:00
cand = Candidature ( role = resp , user = krophil , election_list = listeT , program = " Le Pôle Troll ! " )
2016-12-19 02:54:57 +00:00
cand . save ( )
2016-12-19 15:45:38 +00:00
cand = Candidature ( role = pres , user = sli , election_list = listeT , program = " En fait j ' aime pas l ' info, je voulais faire GMC " )
2016-12-19 02:54:57 +00:00
cand . save ( )
2016-12-24 00:02:40 +00:00