source: branches/TaskRewrite/src/grails-app/conf/BootStrap.groovy @ 64

Last change on this file since 64 was 64, checked in by gav, 15 years ago

Add PersonGroup/Type? to Bootstrap.

File size: 7.5 KB
Line 
1import grails.util.GrailsUtil
2
3class BootStrap 
4{
5    //Required to be right here for Acegi plugin.
6    def authenticateService
7    Boolean BootStrapDemoDataSuccessful = true
8
9    def init = { servletContext ->
10
11    println "**** BootStrap GrailsUtil.environment = ${GrailsUtil.environment}"
12   
13        switch (GrailsUtil.environment)
14        {
15            case "development":
16                        bootStrapDemoData()
17                        break
18            case "test":
19                        break
20            case "production":
21                        bootStrapDemoData()
22                        break 
23        }
24   
25    }
26
27    def destroy = {
28    }
29
30    //Insert some demo/startup data.
31    void bootStrapDemoData()
32    {
33        println "BootStrapping demo data..."
34   
35        //TypeOfPersonGroup
36        def personGroupTypeInstance
37        personGroupTypeInstance = new PersonGroupType(name:"Department")
38        BootStrapSaveAndTest(personGroupTypeInstance)
39        personGroupTypeInstance = new PersonGroupType(name:"Contractor")
40        BootStrapSaveAndTest(personGroupTypeInstance)
41        personGroupTypeInstance = new PersonGroupType(name:"ProjectTeam")
42        BootStrapSaveAndTest(personGroupTypeInstance)
43   
44        //PersonGroup
45        def personGroupInstance
46        personGroupInstance = new PersonGroup(personGroupType:PersonGroupType.findByName("Department"),
47                        name:"Electrical")
48        BootStrapSaveAndTest(personGroupInstance)
49        personGroupInstance = new PersonGroup(personGroupType:PersonGroupType.findByName("Department"),
50                        name:"Mechanical")
51        BootStrapSaveAndTest(personGroupInstance)
52        personGroupInstance = new PersonGroup(personGroupType:PersonGroupType.findByName("Department"),
53                        name:"Production")
54        BootStrapSaveAndTest(personGroupInstance)
55        personGroupInstance = new PersonGroup(personGroupType:PersonGroupType.get(2),
56                        name:"Kewl AirCon Guys")
57        BootStrapSaveAndTest(personGroupInstance)
58        personGroupInstance = new PersonGroup(personGroupType:PersonGroupType.get(3),
59                        name:"gnuMims")
60        BootStrapSaveAndTest(personGroupInstance)
61
62        //Authority
63        def authInstance
64
65        authInstance = new Authority(description:"Application Admin",
66                                        authority:"ROLE_ADMIN")
67        BootStrapSaveAndTest(authInstance)
68
69        authInstance = new Authority(description:"Application Admin",
70                                        authority:"ROLE_USER")
71        BootStrapSaveAndTest(authInstance)
72           
73        //Person
74        def passwordEncoded = authenticateService.encodePassword("pass")
75        def personInstance
76
77        personInstance = new Person(loginName:"admin",
78                                    firstName:"Admin",
79                                    lastName:"Powers",
80                                    password:passwordEncoded,
81                                    email:"admin@example.com")
82        BootStrapSaveAndTest(personInstance)
83        personInstance.addToAuthorities(Authority.get(1))
84        personInstance.addToAuthorities(Authority.get(2))
85        personInstance.addToPersonGroups(PersonGroup.findByName("gnuMims"))
86
87        personInstance = new Person(loginName:"user",
88                                    firstName:"Demo",
89                                    lastName:"Danza",
90                                    password:passwordEncoded,
91                                    email:"user@example.com")
92        BootStrapSaveAndTest(personInstance)
93        personInstance.addToAuthorities(Authority.get(2))
94        personInstance.addToPersonGroups(PersonGroup.findByName("Electrical"))
95
96        personInstance = new Person(loginName:"craig",
97                                    firstName:"Craig",
98                                    lastName:"SuperTech",
99                                    password:passwordEncoded,
100                                    email:"user@example.com")
101        BootStrapSaveAndTest(personInstance)
102        personInstance.addToAuthorities(Authority.get(2))
103        personInstance.addToPersonGroups(PersonGroup.findByName("Electrical"))
104
105        personInstance = new Person(loginName:"joe",
106                                    firstName:"Joe",
107                                    lastName:"Samples",
108                                    password:passwordEncoded,
109                                    email:"user@example.com")
110        BootStrapSaveAndTest(personInstance)
111        personInstance.addToAuthorities(Authority.get(2))
112        personInstance.addToPersonGroups(PersonGroup.findByName("Mechanical"))
113
114        personInstance = new Person(loginName:"mann",
115                                    firstName:"Production",
116                                    lastName:"Mann",
117                                    password:passwordEncoded,
118                                    email:"user@example.com")
119        BootStrapSaveAndTest(personInstance)
120        personInstance.addToAuthorities(Authority.get(2))
121        personInstance.addToPersonGroups(PersonGroup.findByName("Production"))
122               
123        //TaskGroup
124//         new TaskGroup(name:"Engineering",
125//                       description:"Engineering task group").save()
126//         new TaskGroup(name:"Production",
127//                       description:"Production task group").save()
128//         new TaskGroup(name:"NewProject(s)",
129//                       description:" ").save()
130                     
131       
132        //Task
133//         new Task(taskGroup:TaskGroup.findByName("Engineering"),
134//                  leadPerson:Person.get(3),
135//                  name:"Check specific level sensor",
136//                  description:"Has been noted as problematic, try recallibrating",
137//                  scheduledDate: new Date(),
138//                  targetDate: new Date() ).save()
139//         new Task(taskGroup:TaskGroup.findByName("Production"),
140//                  leadPerson:Person.get(5),
141//                  name:"Production Report",
142//                  description:"Production report for specific production run or shift",
143//                  scheduledDate: new Date(),
144//                  targetDate: new Date() ).save()
145//         new Task(taskGroup:TaskGroup.findByName("NewProject(s)"),
146//                  leadPerson:Person.get(1),
147//                  name:"Make killer CMMS app",
148//                  description:"Use Grails and get a move on!",
149//                  scheduledDate: new Date(),
150//                  targetDate: new Date() ).save()
151
152        //EntryType
153//         new EntryType(name:"Fault").save()
154//         new EntryType(name:"WorkDone").save()
155//         new EntryType(name:"Production Report").save()
156
157        //ModificationType
158//         new ModificationType(name:"Created").save()
159//         new ModificationType(name:"Completed").save()
160//         new ModificationType(name:"Closed").save()
161//         new ModificationType(name:"Altered").save()
162//         new ModificationType(name:"TargetDateModified").save()
163//         new ModificationType(name:"ScheduledDateModified").save()
164//         new ModificationType(name:"DescriptionModified").save()
165//         new ModificationType(name:"AssignedToModified").save()
166//         new ModificationType(name:"NameModified").save()
167       
168        if(BootStrapDemoDataSuccessful) {
169            println "BootStrapping demo data...successful."
170        }
171        else println "BootStrapping demo data...failed."
172    }
173   
174    void BootStrapSaveAndTest(object) {
175        if(!object.save()) {
176            BootStrapDemoDataSuccessful = false
177            println "'${object}' failed to save!"
178            println object.errors
179
180        }
181    } 
182}
Note: See TracBrowser for help on using the repository browser.