taskapp/management/commands/seed_db.py
changeset 236 39f83b4cf557
parent 235 e338eaeccad7
equal deleted inserted replaced
235:e338eaeccad7 236:39f83b4cf557
     1 import sys
       
     2 from datetime import datetime
       
     3 from django.core.management.base import NoArgsCommand
       
     4 
       
     5 from django.contrib.auth.models import User
       
     6 
       
     7 from pytask.taskapp.events import task as taskEvents
       
     8 from pytask.taskapp.events import user as userEvents
       
     9 
       
    10 from pytask.taskapp.utilities.request import create_request
       
    11 from pytask.taskapp.utilities.notification import create_notification
       
    12 
       
    13 
       
    14 def seed_db():
       
    15     """ a method to seed the database with random data """
       
    16     
       
    17     defaultReviewer = userEvents.createSuUser("admin", "admin@example.com", "123456", datetime.now(), "M")
       
    18     reviewer_profile = defaultReviewer.get_profile()
       
    19     userEvents.updateProfile(reviewer_profile, {'rights':"AD"})
       
    20     
       
    21     for i in range(1,21):
       
    22         
       
    23         username = 'user'+str(i)
       
    24         email = username+'@example.com'
       
    25         password = '123456'
       
    26         dob = datetime.now()
       
    27         gender = "M"
       
    28         user = userEvents.createUser(username,email,password,dob,gender)
       
    29         create_notification("NU", user)
       
    30 
       
    31         if i%4==0:
       
    32             create_request(defaultReviewer, "MG", user)
       
    33         elif i%3==0:
       
    34             create_request(defaultReviewer, "DV", user)
       
    35         elif i%2==0:
       
    36             create_request(defaultReviewer, "AD", user)
       
    37         elif i in [7, 13]:
       
    38             user.is_active = False
       
    39             user.save()
       
    40 
       
    41     for i in range(1,21):
       
    42         
       
    43         title = "Task "+str(i)
       
    44         desc = "I am "+title
       
    45         created_by = defaultReviewer
       
    46         pynts = 20
       
    47         
       
    48         task = taskEvents.createTask(title,desc,created_by,pynts)
       
    49         if task:
       
    50             taskEvents.addReviewer(task, defaultReviewer)
       
    51             if i%2==0:taskEvents.publishTask(task)
       
    52 
       
    53 class Command(NoArgsCommand):
       
    54     
       
    55     def handle_noargs(self, **options):
       
    56         """ Just copied the code from seed_db.py """
       
    57         
       
    58         seed_db()