taskapp/management/commands/seed_db.py
author nishanth
Wed, 03 Mar 2010 11:21:33 +0530
changeset 192 8c982f517786
parent 183 c088c79a225c
child 218 59107ce0a618
permissions -rw-r--r--
fixed a small syntax error .

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 """
    
    defaultMentor = userEvents.createSuUser("admin", "admin@example.com", "123456", datetime.now(), "M")
    mentor_profile = defaultMentor.get_profile()
    userEvents.updateProfile(mentor_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(defaultMentor, "MG", user)
        elif i%3==0:
            create_request(defaultMentor, "DV", user)
        elif i%2==0:
            create_request(defaultMentor, "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 = defaultMentor
        credits = 20
        
        task = taskEvents.createTask(title,desc,created_by,credits)
        if task:
            taskEvents.addMentor(task, defaultMentor)
            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()