Changeset 595


Ignore:
Timestamp:
Jun 11, 2010, 11:44:49 AM (14 years ago)
Author:
gav
Message:

Improve work flow when working from inventoryItemPurchase search view.

Location:
trunk/grails-app
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/conf/Config.groovy

    r579 r595  
    375375            [order:91, controller:'unitOfMeasureDetailed', title:'Edit', action:'edit', isVisible: { params.action == 'edit' }]
    376376        ]
     377    ],
     378    [order:220, controller:'inventoryItemPurchaseDetailed', title:'inventoryItemPurchase', action:'search',
     379        subItems: [
     380            [order:10, controller:'inventoryItemPurchaseDetailed', title:'Purchase Search', action:'search', isVisible: { true }],
     381            [order:20, controller:'inventoryItemPurchaseDetailed', title:'Order', action:'create', isVisible: { true }],
     382            [order:90, controller:'inventoryItemPurchaseDetailed', title:'Show', action:'show', isVisible: { params.action == 'show' }],
     383            [order:91, controller:'inventoryItemPurchaseDetailed', title:'Edit', action:'edit', isVisible: { params.action == 'edit' }]
     384        ]
    377385    ]
    378386]
  • trunk/grails-app/controllers/InventoryItemPurchaseDetailedController.groovy

    r594 r595  
    7575        }
    7676        else {
    77             params.sort = "purchaseOrderNumber"
    78             params.order = "desc"
     77            params.sort = "id"
     78            params.order = "asc"
    7979        }
    8080
    8181        if(isFilterApplied) {
    8282            // filterPane:
    83             params.sort = params.sort ?: "id"
    84             params.order = params.order ?: "desc"
    8583            //if(params.sort == "attentionFlag") // See ticket #64 in Trac.
    8684                //params.sort = "id"
     
    175173    def show = {
    176174        def inventoryItemPurchaseInstance = InventoryItemPurchase.read( params.id )
     175        params.returnTo = params.returnTo ?: 'inventoryItem'
    177176
    178177        if(!inventoryItemPurchaseInstance) {
     
    188187        if(!result.error) {
    189188            flash.message = g.message(code: "default.delete.success", args: ["InventoryItemPurchase", params.id])
    190             redirect(controller: 'inventoryItemDetailed',
    191                             action: 'show',
    192                             id: result.inventoryItemId,
    193                             params: [showTab: "showPurchasingTab"])
     189            if(params.returnTo == 'inventoryItem') {
     190                redirect(controller: 'inventoryItemDetailed',
     191                                action: 'show',
     192                                id: result.inventoryItemId,
     193                                params: [showTab: "showPurchasingTab"])
     194            }
     195            else {
     196                redirect(action: 'search')
     197            }
    194198            return
    195199        }
     
    207211    def edit = {
    208212        def result = inventoryPurchaseService.edit(params)
     213        params.returnTo = params.returnTo ?: 'inventoryItem'
    209214
    210215        if(!result.error)
     
    236241        def inventoryItemPurchaseInstance = new InventoryItemPurchase()
    237242        inventoryItemPurchaseInstance.properties = params
     243        params.returnTo = params.returnTo ?: 'inventoryItem'
    238244
    239245        if(!inventoryItemPurchaseInstance.inventoryItem) {
     
    251257        if(!result.error) {
    252258            flash.message = g.message(code: "default.create.success", args: ["Inventory Purchase", ''])
    253             redirect(controller: 'inventoryItemDetailed',
    254                             action: 'show',
    255                             id: result.inventoryItemId,
    256                             params: [showTab: "showPurchasingTab"])
     259            if(params.returnTo == 'inventoryItem') {
     260                redirect(controller: 'inventoryItemDetailed',
     261                                action: 'show',
     262                                id: result.inventoryItemId,
     263                                params: [showTab: "showPurchasingTab"])
     264            }
     265            else {
     266                redirect(action: 'search')
     267            }
    257268            return
    258269        }
     
    271282
    272283        inventoryItemPurchaseInstance.properties = params
     284        params.returnTo = params.returnTo ?: 'inventoryItem'
    273285        def calcQuantities = inventoryPurchaseService.calcQuantities(inventoryItemPurchaseInstance)
    274286        inventoryItemPurchaseInstance.quantity = calcQuantities.thisOrderRemaining
     
    282294        if(!result.error) {
    283295            flash.message = g.message(code: "default.create.success", args: ["Inventory Purchase", ''])
    284             redirect(controller: 'inventoryItemDetailed',
    285                             action: 'show',
    286                             id: result.inventoryItemId,
    287                             params: [showTab: "showPurchasingTab"])
     296            if(params.returnTo == 'inventoryItem') {
     297                redirect(controller: 'inventoryItemDetailed',
     298                                action: 'show',
     299                                id: result.inventoryItemId,
     300                                params: [showTab: "showPurchasingTab"])
     301            }
     302            else {
     303                redirect(action: 'search')
     304            }
    288305            return
    289306        }
     
    311328
    312329        inventoryItemPurchaseInstance.properties = params
     330        params.returnTo = params.returnTo ?: 'inventoryItem'
    313331        return ['inventoryItemPurchaseInstance':inventoryItemPurchaseInstance,
    314332                        'orderId': inventoryItemPurchaseInstance.id]
     
    320338        if(!result.error) {
    321339            flash.message = g.message(code: "default.create.success", args: ["Inventory Purchase", ''])
    322             redirect(controller: 'inventoryItemDetailed',
    323                             action: 'show',
    324                             id: result.inventoryItemId,
    325                             params: [showTab: "showPurchasingTab"])
     340            if(params.returnTo == 'inventoryItem') {
     341                redirect(controller: 'inventoryItemDetailed',
     342                                action: 'show',
     343                                id: result.inventoryItemId,
     344                                params: [showTab: "showPurchasingTab"])
     345            }
     346            else {
     347                redirect(action: 'search')
     348            }
    326349            return
    327350        }
  • trunk/grails-app/views/inventoryItemDetailed/show.gsp

    r584 r595  
    502502                                                    </g:link>
    503503                                                </td>
     504
    504505                                                <g:if test="${purchase.inventoryItemPurchaseType.id == 1}">
    505506                                                    <g:if test="${!purchase.receivedComplete}">
    506507                                                        <td class="notClickable">
    507                                                             <g:link controller="inventoryItemPurchaseDetailed" action="receive" id="${purchase.id}">
     508                                                            <g:link controller="inventoryItemPurchaseDetailed" action="receive" params="[id: purchase.id, returnTo: 'inventoryItem']">
    508509                                                                <img  src="${resource(dir:'images/skin',file:'basket_put.png')}" alt="Receive" title="Receive" />
    509510                                                            </g:link>
    510511                                                        </td>
     512                                                        <td class="notClickable">
     513                                                        </td>
    511514                                                    </g:if>
    512515                                                    <g:else>
    513516                                                        <td class="notClickable">
    514517                                                        </td>
     518                                                        <td class="notClickable">
     519                                                        </td>
    515520                                                    </g:else>
     521                                                </g:if>
     522                                                <g:elseif test="${(purchase.inventoryItemPurchaseType.id == 2)||(purchase.inventoryItemPurchaseType.id == 3)}">
    516523                                                    <g:if test="${!purchase.invoicePaymentApproved}">
    517524                                                        <td class="notClickable">
    518                                                             <g:link controller="inventoryItemPurchaseDetailed" action="approveInvoicePayment" id="${purchase.id}">
     525                                                        </td>
     526                                                        <td class="notClickable">
     527                                                            <g:link controller="inventoryItemPurchaseDetailed" action="approveInvoicePayment" params="[id: purchase.id, returnTo: 'inventoryItem']">
    519528                                                                <img  src="${resource(dir:'images/skin',file:'tick.png')}" alt="Approve" title="Approve Payment" />
    520529                                                            </g:link>
     
    524533                                                        <td class="notClickable">
    525534                                                        </td>
     535                                                        <td class="notClickable">
     536                                                        </td>
    526537                                                    </g:else>
    527                                                 </g:if>
     538                                                </g:elseif>
    528539                                                <g:else>
    529540                                                    <td class="notClickable">
  • trunk/grails-app/views/inventoryItemPurchaseDetailed/approveInvoicePayment.gsp

    r441 r595  
    2121                <g:hiddenField name="inventoryItem.id" value="${inventoryItemPurchaseInstance.inventoryItem?.id}" />
    2222                <g:hiddenField name="orderId" value="${orderId}" />
     23                <g:hiddenField name="returnTo" value="${params.returnTo}" />
    2324                <div class="dialog">
    2425                    <table>
  • trunk/grails-app/views/inventoryItemPurchaseDetailed/create.gsp

    r441 r595  
    66        <meta name="layout" content="main" />
    77        <title>Create InventoryItemPurchase</title>
     8        <nav:resources override="true"/>
    89    </head>
    910    <body>
     
    2021            <g:form action="save" method="post" >
    2122                <g:hiddenField name="inventoryItem.id" value="${inventoryItemPurchaseInstance?.inventoryItem?.id}" />
     23                <g:hiddenField name="returnTo" value="${params.returnTo}" />
    2224                <div class="dialog">
    2325                    <table>
  • trunk/grails-app/views/inventoryItemPurchaseDetailed/receive.gsp

    r441 r595  
    66        <meta name="layout" content="main" />
    77        <title>Receive InventoryItemPurchase</title>
     8        <nav:resources override="true"/>
    89    </head>
    910    <body>
     
    2122                <g:hiddenField name="inventoryItem.id" value="${inventoryItemPurchaseInstance.inventoryItem?.id}" />
    2223                <g:hiddenField name="orderId" value="${orderId}" />
     24                <g:hiddenField name="returnTo" value="${params.returnTo}" />
    2325                <div class="dialog">
    2426                    <table>
  • trunk/grails-app/views/inventoryItemPurchaseDetailed/search.gsp

    r570 r595  
    1010    <body>
    1111        <div class="nav">
    12             <h1>Inventory Purchases</h1>
     12            <nav:renderSubItems group="navAlt"/>
    1313        </div>
    1414
     
    110110                                <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
    111111
    112                                     <td onclick='window.location = "${request.getContextPath()}/inventoryItemPurchaseDetailed/show/${purchase.id}"'>
     112                                    <td onclick='window.location = "${request.getContextPath()}/inventoryItemPurchaseDetailed/show/${purchase.id}?returnTo=search"'>
    113113                                        ${fieldValue(bean:purchase, field:'purchaseOrderNumber')}
    114114                                    </td>
    115                                     <td onclick='window.location = "${request.getContextPath()}/inventoryItemPurchaseDetailed/show/${purchase.id}"'>
     115                                    <td onclick='window.location = "${request.getContextPath()}/inventoryItemPurchaseDetailed/show/${purchase.id}?returnTo=search"'>
    116116                                        <g:formatDate date="${purchase.dateEntered}" format="EEE, dd-MMM-yyyy"/>
    117117                                    </td>
    118                                     <td onclick='window.location = "${request.getContextPath()}/inventoryItemPurchaseDetailed/show/${purchase.id}"'>
     118                                    <td onclick='window.location = "${request.getContextPath()}/inventoryItemPurchaseDetailed/show/${purchase.id}?returnTo=search"'>
    119119                                        ${fieldValue(bean:purchase, field:'costCode')}
    120120                                    </td>
    121                                     <td onclick='window.location = "${request.getContextPath()}/inventoryItemPurchaseDetailed/show/${purchase.id}"'>
     121                                    <td onclick='window.location = "${request.getContextPath()}/inventoryItemPurchaseDetailed/show/${purchase.id}?returnTo=search"'>
    122122                                        ${fieldValue(bean:purchase, field:'quantity')}
    123123                                    </td>
    124                                     <td onclick='window.location = "${request.getContextPath()}/inventoryItemPurchaseDetailed/show/${purchase.id}"'>
     124                                    <td onclick='window.location = "${request.getContextPath()}/inventoryItemPurchaseDetailed/show/${purchase.id}?returnTo=search"'>
    125125                                        ${fieldValue(bean:purchase, field:'orderValueAmount')}
    126126                                        ${fieldValue(bean:purchase, field:'orderValueCurrency')}
    127127                                    </td>
    128                                     <td onclick='window.location = "${request.getContextPath()}/inventoryItemPurchaseDetailed/show/${purchase.id}"'>
     128                                    <td onclick='window.location = "${request.getContextPath()}/inventoryItemPurchaseDetailed/show/${purchase.id}?returnTo=search"'>
    129129                                        ${fieldValue(bean:purchase, field:'invoiceNumber')}
    130130                                    </td>
    131                                     <td onclick='window.location = "${request.getContextPath()}/inventoryItemPurchaseDetailed/show/${purchase.id}"'>
     131                                    <td onclick='window.location = "${request.getContextPath()}/inventoryItemPurchaseDetailed/show/${purchase.id}?returnTo=search"'>
    132132                                        ${fieldValue(bean:purchase, field:'inventoryItemPurchaseType')}
    133133                                    </td>
    134134                                    <td class="notClickable">
    135                                         <g:link controller="inventoryItemPurchaseDetailed" action="show" id="${purchase.id}">
     135                                        <g:link controller="inventoryItemPurchaseDetailed" action="show" params="[id: purchase.id, returnTo: 'search']">
    136136                                            <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" title="Show" />
    137137                                        </g:link>
    138138                                    </td>
     139
    139140                                    <g:if test="${purchase.inventoryItemPurchaseType.id == 1}">
    140141                                        <g:if test="${!purchase.receivedComplete}">
    141142                                            <td class="notClickable">
    142                                                 <g:link controller="inventoryItemPurchaseDetailed" action="receive" id="${purchase.id}">
     143                                                <g:link controller="inventoryItemPurchaseDetailed" action="receive" params="[id: purchase.id, returnTo: 'search']">
    143144                                                    <img  src="${resource(dir:'images/skin',file:'basket_put.png')}" alt="Receive" title="Receive" />
    144145                                                </g:link>
    145146                                            </td>
     147                                            <td class="notClickable">
     148                                            </td>
    146149                                        </g:if>
    147150                                        <g:else>
    148151                                            <td class="notClickable">
    149152                                            </td>
     153                                            <td class="notClickable">
     154                                            </td>
    150155                                        </g:else>
     156                                    </g:if>
     157                                    <g:elseif test="${(purchase.inventoryItemPurchaseType.id == 2)||(purchase.inventoryItemPurchaseType.id == 3)}">
    151158                                        <g:if test="${!purchase.invoicePaymentApproved}">
    152159                                            <td class="notClickable">
    153                                                 <g:link controller="inventoryItemPurchaseDetailed" action="approveInvoicePayment" id="${purchase.id}">
     160                                            </td>
     161                                            <td class="notClickable">
     162                                                <g:link controller="inventoryItemPurchaseDetailed" action="approveInvoicePayment" params="[id: purchase.id, returnTo: 'search']">
    154163                                                    <img  src="${resource(dir:'images/skin',file:'tick.png')}" alt="Approve" title="Approve Payment" />
    155164                                                </g:link>
     
    159168                                            <td class="notClickable">
    160169                                            </td>
     170                                            <td class="notClickable">
     171                                            </td>
    161172                                        </g:else>
    162                                     </g:if>
     173                                    </g:elseif>
    163174                                    <g:else>
    164175                                        <td class="notClickable">
  • trunk/grails-app/views/inventoryItemPurchaseDetailed/show.gsp

    r441 r595  
    66        <meta name="layout" content="main" />
    77        <title>Show InventoryItemPurchase</title>
     8        <nav:resources override="true"/>
    89    </head>
    910    <body>
    1011        <div class="nav">
    11             <h1>Show InventoryItemPurchase</h1>
     12            <nav:renderSubItems group="navAlt"/>
    1213        </div>
    1314        <div class="body">
     
    108109            <div class="buttons">
    109110                <g:form>
    110                     <input type="hidden" name="id" value="${inventoryItemPurchaseInstance?.id}" />
     111                    <g:hiddenField name="id" value="${inventoryItemPurchaseInstance?.id}" />
     112                    <g:hiddenField name="returnTo" value="${params.returnTo}" />
    111113                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
    112114                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
Note: See TracChangeset for help on using the changeset viewer.