source: branches/TaskRewrite/src/grails-app/controllers/AppCoreController.groovy @ 75

Last change on this file since 75 was 73, checked in by gav, 16 years ago

Add changePassword under options view so that users can change their own password.
Adjust for password validation, userCache etc. Only a small bug during "edit" is left on second "update" command.

File size: 1.4 KB
Line 
1import org.codehaus.groovy.grails.plugins.springsecurity.Secured
2
3class AppCoreController extends BaseController {
4
5    def authenticateService
6
7    def index = { redirect(action:home,params:params) }
8
9    // the delete, save and update actions only accept POST requests
10    //def allowedMethods = [delete:'POST', save:'POST', update:'POST']
11
12    def home = {
13    }
14
15    def options = {
16    }
17
18    def changePassword = {
19        //def principal = authenticateService.principal()
20        //println principal.getAuthorities()
21
22        if (request.method == 'GET') {
23            def personInstance = Person.get(authenticateService.userDomain().id)
24            return [ personInstance : personInstance ]       
25        } 
26
27        if (request.method == 'POST') {
28            def personInstance = Person.get(authenticateService.userDomain().id)
29   
30            personInstance.pass = params.pass
31            personInstance.password = authenticateService.encodePassword(personInstance.pass)
32
33            if (!personInstance.hasErrors() && personInstance.save()) {
34                //userCache.removeUserFromCache(personInstance.loginName)
35                flash.message = "Password changed successfully."
36                redirect(action:options)
37            }
38            else {
39                render(view:'changePassword',model:[personInstance:personInstance])
40            }                         
41        } 
42    }
43
44
45    @Secured(['ROLE_AppAdmin'])   
46    def admin = {
47    }
48
49}
Note: See TracBrowser for help on using the repository browser.