Changeset 1977


Ignore:
Timestamp:
Aug 18, 2011, 2:13:36 PM (5 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 edited

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
Note: See TracChangeset for help on using the changeset viewer.