Changeset 1977

Show
Ignore:
Timestamp:
18-08-11 14:13:36 (3 years ago)
Author:
robert@…
Message:

- Implemented silent remote login method
- Added a clean error message if an optimistic locking exception occurs in study wizard
- Made the study wizard send notifications if only the assay-sample associations has been changed

Location:
trunk/grails-app/controllers/dbnp
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/controllers/dbnp/authentication/LoginController.groovy

    r1962 r1977  
    6969                def token = params.token 
    7070                 
     71                // Silent means that the user will be sent back, regardless of his login state. He will not 
     72                // be redirected to the login page. 
     73                def silent = params.silent ? Boolean.valueOf( params.silent ) : false; 
     74                 
    7175                if (consumer == null || token == null) { 
    7276                        throw new Exception("Consumer and Token must be given!"); 
     
    107111                        return; 
    108112                } 
    109  
     113                 
     114                // On silent login, the user should be sent back anyway 
     115                if( silent ) { 
     116                        if (returnUrl) { 
     117                                redirect url: returnUrl 
     118                        } else { 
     119                                redirect controller: 'home' 
     120                        } 
     121                } 
     122                 
    110123                // Otherwise we show the login screen 
    111124                def config = SpringSecurityUtils.securityConfig 
  • trunk/grails-app/controllers/dbnp/studycapturing/StudyWizardController.groovy

    r1943 r1977  
    11481148 
    11491149                                        success() 
     1150                                } catch (org.springframework.dao.OptimisticLockingFailureException e) { 
     1151                                        // rollback 
     1152                                        this.appendErrorMap(['exception': 'This study has been changed by another user while you were editing. Unfortunately, we can\'t save your changes. Please restart the wizard.' ], flash.wizardErrors) 
     1153 
     1154                                        // stacktrace in flash scope 
     1155                                        flash.debug = e.getStackTrace() 
     1156 
     1157                                        error() 
    11501158                                } catch (Exception e) { 
    11511159                                        // rollback 
     
    19681976                        } 
    19691977                } 
     1978                 
     1979                // Mark study as dirty 
     1980                flow.study.version++ 
    19701981 
    19711982                return !errors