Improve setup script

This commit is contained in:
Skia 2015-12-04 16:13:20 +01:00
parent 078276cead
commit 185b35ed18
2 changed files with 15 additions and 4 deletions

View File

@ -8,7 +8,7 @@ To start working on the project, just run the following commands:
virtualenv --clear --python=python3 env_sith
source env_sith/bin/activate
pip install -r requirements.txt
./manage.py migrate
./manage.py setup
To load some initial data in the core:
@ -19,7 +19,7 @@ You will be prompted for your Gitlab account, so you need some.
To start the debug server, just run `python3 manage.py runserver`
#### Dependencies:
* Django
* Django 1.8
The development is done with sqlite, but it is advised to set a more robust
DBMS for production (Postgresql for example)

View File

@ -1,3 +1,4 @@
import os
from django.core.management.base import BaseCommand, CommandError
from django.core.management import call_command
from core.models import Group, User
@ -5,10 +6,12 @@ from core.models import Group, User
class Command(BaseCommand):
help = "Set up a new instance of the Sith AE"
def add_arguments(self, parser):
parser.add_argument('--prod', action="store_true")
def handle(self, *args, **options):
try:
# TODO: really remove the DB, to make sure all the tables and indexes are dropped
call_command('flush', '--noinput', '--no-initial-data')
os.unlink(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))), 'db.sqlite3'))
except:
pass
call_command('migrate')
@ -23,4 +26,12 @@ class Command(BaseCommand):
Group(name="bureau_restreint_ae").save()
Group(name="bureau_ae").save()
Group(name="membre_ae").save()
if not options['prod']:
print("Dev mode, adding some test data")
u = User(username='skia', last_name="Kia", first_name="S'",
email="skia@git.an",
date_of_birth="1942-06-12T00:00:00+01:00",
is_superuser=True, is_staff=True)
u.set_password("plop")
u.save()