Changeset 204
- Timestamp:
- Dec 1, 2009, 1:48:20 AM (15 years ago)
- Location:
- trunk/grails-app
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/grails-app/controllers/TaskDetailedController.groovy
r196 r204 408 408 } 409 409 else { 410 if(result.taskInstance) { 411 render(view:'edit',model:[taskInstance:result.taskInstance]) 412 } 413 else { 414 flash.message = "Task could not be updated." 415 redirect(action: 'search') 416 } 417 } 418 419 } 420 421 // def update = { 422 // def taskInstance = Task.get( params.id ) 423 // if(taskInstance) { 424 // if(params.version) { 425 // def version = params.version.toLong() 426 // if(taskInstance.version > version) { 427 // 428 // taskInstance.errors.rejectValue("version", "task.optimistic.locking.failure", "Another user has updated this Task while you were editing.") 429 // render(view:'edit',model:[taskInstance:taskInstance]) 430 // return 431 // } 432 // } 433 // taskInstance.properties = params 434 // if(!taskInstance.hasErrors() && taskInstance.save(flush: true)) { 435 // flash.message = "Task ${params.id} updated" 436 // redirect(action:show,id:taskInstance.id) 437 // } 438 // else { 439 // render(view:'edit',model:[taskInstance:taskInstance]) 440 // } 441 // } 442 // else { 443 // flash.message = "Task not found with id ${params.id}" 444 // redirect(action:edit,id:params.id) 445 // } 446 // } 410 render(view:'edit',model:[taskInstance:result.taskInstance.refresh()]) 411 } 412 413 } 447 414 448 415 def create = { -
trunk/grails-app/i18n/messages.properties
r203 r204 76 76 default.paginate.prev=Previous 77 77 default.paginate.next=Next 78 default.optimistic.locking.failure=Another user has updated this item while you were editing. 78 79 79 80 # Rich UI plugin - Calendar -
trunk/grails-app/services/TaskService.groovy
r203 r204 172 172 } 173 173 174 // All went well if we get to here.174 // If we get here all went well. 175 175 return result 176 176 } … … 186 186 * Updates an existing task. 187 187 * @param params The params to update for task with id of params.id. 188 * @returns A map containing result.error=true (if any error) and result.taskInstance .188 * @returns A map containing result.error=true (if any error) and result.taskInstance (if available). 189 189 */ 190 190 def update(params) { 191 191 Task.withTransaction { status -> 192 192 def result = [:] 193 result.taskInstance = Task.get(params.id) 194 if(result.taskInstance) { 195 196 // Optimistic locking check. 197 if(params.version) { 198 def version = params.version.toLong() 199 if(result.taskInstance.version > version) { 200 status.setRollbackOnly() 201 result.taskInstance.errors.rejectValue("version", "task.optimistic.locking.failure", "Another user has updated this Task while you were editing.") 202 result.error = true 203 return result 204 } 205 } 206 207 result.taskInstance.properties = params 208 209 if(result.taskInstance.save()) { 210 def taskModification = new TaskModification(person:personService.currentUser(), 211 taskModificationType: TaskModificationType.get(3), 212 task: result.taskInstance) 213 if(taskModification.save()) { 214 // All went well. 215 return result 216 } 217 else { 218 status.setRollbackOnly() 219 result.taskInstance.errors.rejectValue("taskModifications", "task.modifications.failedToSave") 220 result.error = true 221 return result 222 } 223 } 224 } 225 // Something failed. 226 status.setRollbackOnly() 227 result.error = true 193 194 def fail = { Object[] args -> 195 status.setRollbackOnly() 196 if(args.size() == 2) result.taskInstance.errors.rejectValue(args[0], args[1]) 197 result.error = true 198 return result 199 } 200 201 result.taskInstance = Task.get(params.id) 202 203 if(!result.taskInstance) 204 return fail('task', "task.notFound") 205 206 // Optimistic locking check. 207 if(params.version) { 208 def version = params.version.toLong() 209 if(result.taskInstance.version > version) 210 return fail("version", "default.optimistic.locking.failure") 211 } 212 213 result.taskInstance.properties = params 214 215 if(result.taskInstance.hasErrors() || !result.taskInstance.save()) 216 return fail() 217 218 def taskModification = new TaskModification(person:personService.currentUser(), 219 taskModificationType: TaskModificationType.get(3), 220 task: result.taskInstance) 221 222 if(!taskModification.save()) 223 return fail("taskModifications", "task.modifications.failedToSave") 224 225 // If we get here all went well. 228 226 return result 229 227 -
trunk/grails-app/views/taskDetailed/edit.gsp
r196 r204 24 24 <g:form method="post" > 25 25 <input type="hidden" name="id" value="${taskInstance?.id}" /> 26 <input type="hidden" name="version" value="${taskInstance?.version}" /> 26 27 <div class="dialog"> 27 28 <table>
Note: See TracChangeset
for help on using the changeset viewer.