summaryrefslogtreecommitdiff
path: root/taskapp/management/commands/seed_db.py
blob: c13abda96d143b5d26860c5606044ae95a6b7f8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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()