Changeset 610


Ignore:
Timestamp:
Jun 22, 2010, 5:55:31 PM (10 years ago)
Author:
gav
Message:

Prevent reordering of obsolete or inactive inventory items.

Location:
trunk/grails-app
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/controllers/InventoryItemPurchaseDetailedController.groovy

    r605 r610  
    276276        }
    277277
     278        params.errorMessage = g.message(code: result.error.code, args: result.error.args)
    278279        render(view:'create', model:['inventoryItemPurchaseInstance': result.inventoryItemPurchaseInstance])
    279280    }
  • trunk/grails-app/domain/InventoryItem.groovy

    r566 r610  
    2121    boolean isActive = true
    2222    boolean isObsolete = false
    23     boolean enableReorder = true
     23    boolean enableReorder = true /// @todo: rename to enableReorderListing.
    2424
    2525    static mapping = {
  • trunk/grails-app/i18n/messages.properties

    r609 r610  
    200200task.associatedAssets.help=These assets are to be associated with this task, but costs will not be assigned.
    201201
     202# InventoryItem Messages.
    202203inventory.item.is.obsolete=This item has been flagged as obsolete.
    203204inventory.item.not.active=This item has been flagged as not active.
     205inventory.item.reorder.not.allowed=Reorder not allowed.
     206inventory.item.reorder.listing.disabled=This item has reorder listing disabled and will not appear on reorder lists.
    204207inventory.item.already.has.picture=Inventory item already has a picture, please delete the old picture first.
    205208inventory.item.picture.file.unrecognised=Image file [{0}]: type not recognised.
     
    214217inventoryItemPurchase.delete.failure.received.exists=Could not delete, items have been received.
    215218inventoryItemPurchase.delete.failure.payment.approved=Could not delete, payment has been approved.
     219inventoryItemPurchase.operation.not.permitted.on.inactive.or.obsolete.item=This operation is not permitted on an inactive or obsolete inventory item.
    216220
    217221assignedGroup.task.not.found=Please select a task and then ''Add Assigned Group''.
  • trunk/grails-app/services/InventoryPurchaseService.groovy

    r605 r610  
    264264            result.inventoryItemPurchaseInstance.inventoryItem.unitOfMeasure
    265265
     266            // Prevent ordering on obsolete or inactive inventoryItem.
     267            def isObsolete = result.inventoryItemPurchaseInstance.inventoryItem?.isObsolete
     268            def isActive = result.inventoryItemPurchaseInstance.inventoryItem?.isActive
     269            if(isObsolete || !isActive)
     270                return fail(code:"inventoryItemPurchase.operation.not.permitted.on.inactive.or.obsolete.item")
     271
    266272            if(result.inventoryItemPurchaseInstance.hasErrors() || !result.inventoryItemPurchaseInstance.save())
    267273                return fail(code:"default.create.failure")
  • trunk/grails-app/views/inventoryItemDetailed/create.gsp

    r604 r610  
    8484                            <tr class="prop">
    8585                                <td valign="top" class="name">
    86                                     <label for="enableReorder">Enable Reorder:</label>
     86                                    <label for="enableReorder">Enable Reorder Listing:</label>
    8787                                </td>
    8888                                <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'enableReorder','errors')}">
  • trunk/grails-app/views/inventoryItemDetailed/edit.gsp

    r604 r610  
    129129                            <tr class="prop">
    130130                                <td valign="top" class="name">
    131                                     <label for="enableReorder">Enable Reorder:</label>
     131                                    <label for="enableReorder">Enable Reorder Listing:</label>
    132132                                </td>
    133133                                <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'enableReorder','errors')}">
  • trunk/grails-app/views/inventoryItemDetailed/show.gsp

    r605 r610  
    2525                            <li><g:message code="inventory.item.not.active" /><li>
    2626                        </g:if>
    27                     <ul>
     27                    </ul>
     28                </div>
     29            </g:if>
     30            <g:if test="${!inventoryItemInstance.enableReorder}" >
     31                <div class="message">
     32                    <g:message code="inventory.item.reorder.listing.disabled" />
    2833                </div>
    2934            </g:if>
     
    247252
    248253                                    <tr class="prop">
    249                                         <td valign="top" class="name">Enable Reorder:</td>
     254                                        <td valign="top" class="name">Enable Reorder Listing:</td>
    250255                                        <td valign="top" class="value">${fieldValue(bean:inventoryItemInstance, field:'enableReorder')}</td>
    251256                                    </tr>
     
    433438
    434439                            <div class="buttons">
    435                                 <g:form controller="inventoryItemPurchaseDetailed">
    436                                     <g:hiddenField name="inventoryItem.id" value="${inventoryItemInstance.id}" />
    437                                     <span class="button"><g:actionSubmit action="create" class="add" value="Order" /></span>
    438                                 </g:form>
     440                                <!--Fake button to prevent ordering disabled inventory items-->
     441                                <g:if test="${inventoryItemInstance.isObsolete || !inventoryItemInstance.isActive}" >
     442                                    <g:form controller="inventoryItemDetailed">
     443                                        <g:hiddenField name="id" value="${inventoryItemInstance.id}" />
     444                                        <span class="button"><g:actionSubmit action="show" class="add" value="${g.message(code:'inventory.item.reorder.not.allowed')}" /></span>
     445                                    </g:form>
     446                                </g:if>
     447                                <g:else><!--Real order button.-->
     448                                    <g:form controller="inventoryItemPurchaseDetailed">
     449                                        <g:hiddenField name="inventoryItem.id" value="${inventoryItemInstance.id}" />
     450                                        <span class="button"><g:actionSubmit action="create" class="add" value="Order" /></span>
     451                                    </g:form>
     452                                </g:else>
    439453                            </div>
    440454
     
    551565
    552566                            <div class="buttons">
    553                                 <g:form controller="inventoryItemPurchaseDetailed">
    554                                     <g:hiddenField name="inventoryItem.id" value="${inventoryItemInstance.id}" />
    555                                     Results: ${inventoryItemPurchases.size()} / ${inventoryItemPurchasesTotal}
    556                                     <span class="button"><g:actionSubmit action="create" class="add" value="Order" /></span>
    557                                 </g:form>
     567                                <!--Fake button to prevent ordering disabled inventory items-->
     568                                <g:if test="${inventoryItemInstance.isObsolete || !inventoryItemInstance.isActive}" >
     569                                    <g:form controller="inventoryItemDetailed">
     570                                        <g:hiddenField name="id" value="${inventoryItemInstance.id}" />
     571                                        Results: ${inventoryItemPurchases.size()} / ${inventoryItemPurchasesTotal}
     572                                        <span class="button">
     573                                            <g:actionSubmit action="show" class="add" value="${g.message(code:'inventory.item.reorder.not.allowed')}" />
     574                                        </span>
     575                                    </g:form>
     576                                </g:if>
     577                                <g:else><!--Real order button.-->
     578                                    <g:form controller="inventoryItemPurchaseDetailed">
     579                                        <g:hiddenField name="inventoryItem.id" value="${inventoryItemInstance.id}" />
     580                                        Results: ${inventoryItemPurchases.size()} / ${inventoryItemPurchasesTotal}
     581                                        <span class="button"><g:actionSubmit action="create" class="add" value="Order" /></span>
     582                                    </g:form>
     583                                </g:else>
    558584                            </div>
    559585
Note: See TracChangeset for help on using the changeset viewer.