import sys
from datetime import datetime
from django.core.management.base import NoArgsCommand
from django.contrib.auth.models import User
from pytask.taskapp.events import task as taskEvents
from pytask.taskapp.events import user as userEvents
from pytask.taskapp.utilities.request import create_request
from pytask.taskapp.utilities.notification import create_notification
def seed_db():
""" a method to seed the database with random data """
defaultReviewer = userEvents.createSuUser("admin", "admin@example.com", "123456", datetime.now(), "M")
reviewer_profile = defaultReviewer.get_profile()
userEvents.updateProfile(reviewer_profile, {'rights':"AD"})
for i in range(1,21):
username = 'user'+str(i)
email = username+'@example.com'
password = '123456'
dob = datetime.now()
gender = "M"
user = userEvents.createUser(username,email,password,dob,gender)
create_notification("NU", user)
if i%4==0:
create_request(defaultReviewer, "MG", user)
elif i%3==0:
create_request(defaultReviewer, "DV", user)
elif i%2==0:
create_request(defaultReviewer, "AD", user)
elif i in [7, 13]:
user.is_active = False
user.save()
for i in range(1,21):
title = "Task "+str(i)
desc = "I am "+title
created_by = defaultReviewer
credits = 20
task = taskEvents.createTask(title,desc,created_by,credits)
if task:
taskEvents.addReviewer(task, defaultReviewer)
if i%2==0:taskEvents.publishTask(task)
class Command(NoArgsCommand):
def handle_noargs(self, **options):
""" Just copied the code from seed_db.py """
seed_db()