Ignore:
Timestamp:
Oct 29, 2009, 8:30:58 PM (15 years ago)
Author:
gav
Message:

Substantial refactor of the Inventory domain.
InventoryItems can now be added to tasks, no quantity adjustments done yet.
Removed StoredItem and with it the ability to store an inventoryItem in multiple places, just too complex right now.
Svn move StoreLocation to InventoryLocation.

Location:
trunk/grails-app/views/inventoryItemDetailed
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/views/inventoryItemDetailed/create.gsp

    r139 r175  
    3131                                </td>
    3232                                <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'name','errors')}">
    33                                     <input type="text" maxlength="75" id="name" name="name" value="${fieldValue(bean:inventoryItemInstance,field:'name')}"/>
     33                                    <input type="text" class="description" maxlength="50" id="name" name="name" value="${fieldValue(bean:inventoryItemInstance,field:'name')}"/>
    3434                                </td>
    3535                            </tr>
     
    4040                                </td>
    4141                                <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'description','errors')}">
    42                                     <input type="text" id="description" name="description" value="${fieldValue(bean:inventoryItemInstance,field:'description')}"/>
     42                                    <input type="text" class="description" id="description" name="description" value="${fieldValue(bean:inventoryItemInstance,field:'description')}"/>
    4343                                </td>
    44                             </tr>
     44                            </tr>
     45
     46                            <tr class="prop">
     47                                <td valign="top" class="name">
     48                                    <label for="unitsInStock">In Stock:</label>
     49                                </td>
     50                                <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'unitsInStock','errors')}">
     51                                    <input type="text" id="unitsInStock" name="unitsInStock" value="${fieldValue(bean:inventoryItemInstance,field:'unitsInStock')}" />
     52                                    <g:select optionKey="id" from="${UnitOfMeasure.list()}" name="unitOfMeasure.id" value="${inventoryItemInstance?.unitOfMeasure?.id}" ></g:select>
     53                                </td>
     54                            </tr>
    4555                       
    4656                            <tr class="prop">
     
    6070                                    <g:checkBox name="enableReorder" value="${inventoryItemInstance?.enableReorder}" ></g:checkBox>
    6171                                </td>
    62                             </tr> 
     72                            </tr>
    6373                       
    6474                            <tr class="prop">
    6575                                <td valign="top" class="name">
    66                                     <label for="isActive">Is Active:</label>
     76                                    <label for="recommendedReorderPoint">Recommended Reorder Point:</label>
     77                                </td>
     78                                <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'recommendedReorderPoint','errors')}">
     79                                    <input type="text" id="recommendedReorderPoint" name="recommendedReorderPoint" value="${fieldValue(bean:inventoryItemInstance,field:'recommendedReorderPoint')}" />
     80                                </td>
     81                            </tr>
     82                       
     83                            <tr class="prop">
     84                                <td valign="top" class="name">
     85                                    <label for="isActive">Active:</label>
    6786                                </td>
    6887                                <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'isActive','errors')}">
     
    7392                            <tr class="prop">
    7493                                <td valign="top" class="name">
    75                                     <label for="isObsolete">Is Obsolete:</label>
     94                                    <label for="isObsolete">Obsolete:</label>
    7695                                </td>
    7796                                <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'isObsolete','errors')}">
     
    96115                                    <g:select optionKey="id" from="${InventoryType.list()}" name="inventoryType.id" value="${inventoryItemInstance?.inventoryType?.id}" ></g:select>
    97116                                </td>
    98                             </tr>
    99                        
    100                             <tr class="prop">
    101                                 <td valign="top" class="name">
    102                                     <label for="unitOfMeasure">Unit Of Measure:</label>
    103                                 </td>
    104                                 <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'unitOfMeasure','errors')}">
    105                                     <g:select optionKey="id" from="${UnitOfMeasure.list()}" name="unitOfMeasure.id" value="${inventoryItemInstance?.unitOfMeasure?.id}" ></g:select>
    106                                 </td>
    107                             </tr>
     117                            </tr>
    108118                       
    109119                            <tr class="prop">
     
    118128                            <tr class="prop">
    119129                                <td valign="top" class="name">
     130                                    <label for="manufacturers">Manufacturers:</label>
     131                                </td>
     132                                <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'manufacturers','errors')}">
     133                                    <g:select id="manufacturers" name="manufacturers"
     134                                                        from="${Manufacturer.list()}"
     135                                                        size="5" multiple="yes" optionKey="id"
     136                                                        value="${inventoryItemInstance?.manufacturers?.id}" noSelection="['':'--None--']" />
     137
     138                                </td>
     139                            </tr>
     140                       
     141                            <tr class="prop">
     142                                <td valign="top" class="name">
    120143                                    <label for="suppliersPartNumber">Suppliers Part Number:</label>
    121144                                </td>
     
    123146                                    <input type="text" id="suppliersPartNumber" name="suppliersPartNumber" value="${fieldValue(bean:inventoryItemInstance,field:'suppliersPartNumber')}"/>
    124147                                </td>
    125                             </tr> 
     148                            </tr>
    126149                       
    127150                            <tr class="prop">
    128151                                <td valign="top" class="name">
    129                                     <label for="recommendedReorderPoint">Recommended Reorder Point:</label>
     152                                    <label for="suppliers">Suppliers:</label>
    130153                                </td>
    131                                 <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'recommendedReorderPoint','errors')}">
    132                                     <input type="text" id="recommendedReorderPoint" name="recommendedReorderPoint" value="${fieldValue(bean:inventoryItemInstance,field:'recommendedReorderPoint')}" />
     154                                <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'suppliers','errors')}">
     155                                    <g:select id="suppliers" name="suppliers"
     156                                                        from="${Supplier.list()}"
     157                                                        size="5" multiple="yes" optionKey="id"
     158                                                        value="${inventoryItemInstance?.suppliers?.id}" noSelection="['':'--None--']"/>
     159
    133160                                </td>
    134                             </tr> 
     161                            </tr>
    135162                       
    136163                            <tr class="prop">
     
    140167                                <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'averageDeliveryTime','errors')}">
    141168                                    <input type="text" id="averageDeliveryTime" name="averageDeliveryTime" value="${fieldValue(bean:inventoryItemInstance,field:'averageDeliveryTime')}" />
     169                                    <g:select optionKey="id" from="${Period.list()}" name="averageDeliveryPeriod.id" value="${inventoryItemInstance?.averageDeliveryPeriod?.id}" noSelection="['null':'--None--']"></g:select>
    142170                                </td>
    143                             </tr>
     171                            </tr>
     172                       
     173                            <tr class="prop">
     174                                <td valign="top" class="name">
     175                                    <label for="inventoryLocation">Inventory Location:</label>
     176                                </td>
     177                                <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'inventoryLocation','errors')}">
     178                                    <g:select optionKey="id" from="${InventoryLocation.list()}" name="inventoryLocation.id" value="${inventoryItemInstance?.inventoryLocation?.id}" ></g:select>
     179                                </td>
     180                            </tr>
    144181                       
    145182                        </tbody>
  • trunk/grails-app/views/inventoryItemDetailed/edit.gsp

    r139 r175  
    3333                                </td>
    3434                                <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'name','errors')}">
    35                                     <input type="text" maxlength="75" id="name" name="name" value="${fieldValue(bean:inventoryItemInstance,field:'name')}"/>
     35                                    <input type="text" maxlength="50" id="name" name="name" value="${fieldValue(bean:inventoryItemInstance,field:'name')}"/>
    3636                                </td>
    3737                            </tr>
     
    4848                            <tr class="prop">
    4949                                <td valign="top" class="name">
     50                                    <label for="unitsInStock">Units In Stock:</label>
     51                                </td>
     52                                <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'unitsInStock','errors')}">
     53                                    <input type="text" id="unitsInStock" name="unitsInStock" value="${fieldValue(bean:inventoryItemInstance,field:'unitsInStock')}" />
     54                                    <g:select optionKey="id" from="${UnitOfMeasure.list()}" name="unitOfMeasure.id" value="${inventoryItemInstance?.unitOfMeasure?.id}" ></g:select>
     55                                </td>
     56                            </tr>
     57                       
     58                            <tr class="prop">
     59                                <td valign="top" class="name">
    5060                                    <label for="reorderPoint">Reorder Point:</label>
    5161                                </td>
     
    6272                                    <g:checkBox name="enableReorder" value="${inventoryItemInstance?.enableReorder}" ></g:checkBox>
    6373                                </td>
    64                             </tr>
    65                        
    66                             <tr class="prop">
    67                                 <td valign="top" class="name">
    68                                     <label for="isActive">Is Active:</label>
     74                            </tr>
     75                           
     76                            <tr class="prop">
     77                                <td valign="top" class="name">
     78                                    <label for="recommendedReorderPoint">Recommended Reorder Point:</label>
     79                                </td>
     80                                <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'recommendedReorderPoint','errors')}">
     81                                    <input type="text" id="recommendedReorderPoint" name="recommendedReorderPoint" value="${fieldValue(bean:inventoryItemInstance,field:'recommendedReorderPoint')}" />
     82                                </td>
     83                            </tr>
     84                       
     85                            <tr class="prop">
     86                                <td valign="top" class="name">
     87                                    <label for="isActive">Active:</label>
    6988                                </td>
    7089                                <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'isActive','errors')}">
     
    7594                            <tr class="prop">
    7695                                <td valign="top" class="name">
    77                                     <label for="isObsolete">Is Obsolete:</label>
     96                                    <label for="isObsolete">Obsolete:</label>
    7897                                </td>
    7998                                <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'isObsolete','errors')}">
     
    98117                                    <g:select optionKey="id" from="${InventoryType.list()}" name="inventoryType.id" value="${inventoryItemInstance?.inventoryType?.id}" ></g:select>
    99118                                </td>
    100                             </tr>
    101                        
    102                             <tr class="prop">
    103                                 <td valign="top" class="name">
    104                                     <label for="unitOfMeasure">Unit Of Measure:</label>
    105                                 </td>
    106                                 <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'unitOfMeasure','errors')}">
    107                                     <g:select optionKey="id" from="${UnitOfMeasure.list()}" name="unitOfMeasure.id" value="${inventoryItemInstance?.unitOfMeasure?.id}" ></g:select>
    108                                 </td>
    109                             </tr>
     119                            </tr>
    110120                       
    111121                            <tr class="prop">
     
    125135                                    <input type="text" id="suppliersPartNumber" name="suppliersPartNumber" value="${fieldValue(bean:inventoryItemInstance,field:'suppliersPartNumber')}"/>
    126136                                </td>
    127                             </tr>
    128                        
    129                             <tr class="prop">
    130                                 <td valign="top" class="name">
    131                                     <label for="recommendedReorderPoint">Recommended Reorder Point:</label>
    132                                 </td>
    133                                 <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'recommendedReorderPoint','errors')}">
    134                                     <input type="text" id="recommendedReorderPoint" name="recommendedReorderPoint" value="${fieldValue(bean:inventoryItemInstance,field:'recommendedReorderPoint')}" />
    135                                 </td>
    136                             </tr>
     137                            </tr>
    137138                       
    138139                            <tr class="prop">
     
    143144                                    <input type="text" id="averageDeliveryTime" name="averageDeliveryTime" value="${fieldValue(bean:inventoryItemInstance,field:'averageDeliveryTime')}" />
    144145                                </td>
    145                             </tr>
     146                            </tr>
     147                           
     148                            <tr class="prop">
     149                                <td valign="top" class="name">
     150                                    <label for="averageDeliveryPeriod">Average Delivery Period:</label>
     151                                </td>
     152                                <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'averageDeliveryPeriod','errors')}">
     153                                    <g:select optionKey="id" from="${Period.list()}" name="averageDeliveryPeriod.id" value="${inventoryItemInstance?.averageDeliveryPeriod?.id}" noSelection="['null':'']"></g:select>
     154                                </td>
     155                            </tr>
    146156                       
    147157                            <tr class="prop">
     
    179189                                </td>
    180190                                <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'manufacturers','errors')}">
    181                                     <g:select name="manufacturers"
    182 from="${Manufacturer.list()}"
    183 size="5" multiple="yes" optionKey="id"
    184 value="${inventoryItemInstance?.manufacturers}" />
     191                                    <g:select id="manufacturers" name="manufacturers"
     192                                                        from="${Manufacturer.list()}"
     193                                                        size="5" multiple="yes" optionKey="id"
     194                                                        value="${inventoryItemInstance?.manufacturers.id}" />
    185195
    186196                                </td>
     
    198208
    199209                                </td>
    200                             </tr>
    201                        
    202                             <tr class="prop">
    203                                 <td valign="top" class="name">
    204                                     <label for="storedItems">Stored Items:</label>
    205                                 </td>
    206                                 <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'storedItems','errors')}">
    207                                    
    208 <ul>
    209 <g:each var="s" in="${inventoryItemInstance?.storedItems?}">
    210     <li><g:link controller="storedItemDetailed" action="show" id="${s.id}">${s?.encodeAsHTML()}</g:link></li>
    211 </g:each>
    212 </ul>
    213 <g:link controller="storedItemDetailed" params="['inventoryItem.id':inventoryItemInstance?.id]" action="create">Add StoredItem</g:link>
    214 
    215                                 </td>
    216                             </tr>
     210                            </tr>
     211                           
     212                            <tr class="prop">
     213                                <td valign="top" class="name">
     214                                    <label for="inventoryLocation">Inventory Location:</label>
     215                                </td>
     216                                <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'inventoryLocation','errors')}">
     217                                    <g:select optionKey="id" from="${InventoryLocation.list()}" name="inventoryLocation.id" value="${inventoryItemInstance?.inventoryLocation?.id}" ></g:select>
     218                                </td>
     219                            </tr>
    217220                       
    218221                            <tr class="prop">
     
    221224                                </td>
    222225                                <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'suppliers','errors')}">
    223                                     <g:select name="suppliers"
    224 from="${Supplier.list()}"
    225 size="5" multiple="yes" optionKey="id"
    226 value="${inventoryItemInstance?.suppliers}" />
    227 
    228                                 </td>
    229                             </tr> 
     226                                    <g:select id="suppliers" name="suppliers"
     227                                                        from="${Supplier.list()}"
     228                                                        size="5" multiple="yes" optionKey="id"
     229                                                        value="${inventoryItemInstance?.suppliers.id}" noSelection="['':'--None--']"/>
     230
     231                                </td>
     232                            </tr>
    230233                       
    231234                        </tbody>
  • trunk/grails-app/views/inventoryItemDetailed/list.gsp

    r151 r175  
    2727                                <g:sortableColumn property="description" title="Description" />
    2828                       
    29                                 <g:sortableColumn property="enableReorder" title="Enable Reorder" />
     29                            <g:sortableColumn property="unitsInStock" title="Units In Stock" />
     30                           
     31                            <th>Unit Of Measure</th>
    3032                       
    31                                 <g:sortableColumn property="isActive" title="Is Active" />
    3233
    3334                            <th></th>
     
    4546                            <td>${fieldValue(bean:inventoryItemInstance, field:'description')}</td>
    4647                       
    47                             <td>${fieldValue(bean:inventoryItemInstance, field:'enableReorder')}</td>
     48                            <td>${fieldValue(bean:inventoryItemInstance, field:'unitsInStock')}</td>
    4849                       
    49                             <td>${fieldValue(bean:inventoryItemInstance, field:'isActive')}</td>
     50                            <td>${fieldValue(bean:inventoryItemInstance, field:'unitOfMeasure')}</td>
    5051
    5152                            <td>
  • trunk/grails-app/views/inventoryItemDetailed/search.gsp

    r156 r175  
    4040                                <g:sortableColumn property="description" title="Description" params="${filterParams}" />
    4141                       
    42                                 <g:sortableColumn property="enableReorder" title="Enable Reorder" params="${filterParams}" />
    43                        
    44                                 <g:sortableColumn property="isActive" title="Is Active" params="${filterParams}" />
     42                            <g:sortableColumn property="unitsInStock" title="Units In Stock" />
     43                           
     44                            <th>Unit Of Measure</th>
    4545
    4646                            <th></th>
     
    5858                            <td>${fieldValue(bean:inventoryItemInstance, field:'description')}</td>
    5959                       
    60                             <td>${fieldValue(bean:inventoryItemInstance, field:'enableReorder')}</td>
     60                            <td>${fieldValue(bean:inventoryItemInstance, field:'unitsInStock')}</td>
    6161                       
    62                             <td>${fieldValue(bean:inventoryItemInstance, field:'isActive')}</td>
     62                            <td>${fieldValue(bean:inventoryItemInstance, field:'unitOfMeasure')}</td>
    6363
    6464                            <td>
     
    8181                                    action="search"
    8282                                    class="overlayPane"
    83                                     excludeProperties="" />
     83                                    excludeProperties=""
     84                                    associatedProperties="inventoryLocation.name,
     85                                                                            spareFor.name,
     86                                                                            manufacturers.name,
     87                                                                            suppliers.name"
     88                                    filterPropertyValues="${['inventoryLocation.name':[values:InventoryLocation.list()],
     89                                                                                'spareFor.name':[values:Asset.list()],
     90                                                                                'manufacturers.name':[values:Manufacturer.list()],
     91                                                                                'suppliers.name':[values:Supplier.list()],
     92                                                                                ]}"/>
    8493        </div> <!-- end body div -->
    8594    </body>
  • trunk/grails-app/views/inventoryItemDetailed/show.gsp

    r139 r175  
    4141                           
    4242                        </tr>
     43                       
     44                        <tr class="prop">
     45                            <td valign="top" class="name">Units In Stock:</td>
     46                           
     47                            <td valign="top" class="value">${fieldValue(bean:inventoryItemInstance, field:'unitsInStock')}</td>
     48                           
     49                        </tr>
     50                   
     51                        <tr class="prop">
     52                            <td valign="top" class="name">Unit Of Measure:</td>
     53                           
     54                            <td valign="top" class="value">${inventoryItemInstance?.unitOfMeasure?.encodeAsHTML()}</td>
     55                           
     56                        </tr>
     57
    4358                   
    4459                        <tr class="prop">
     
    5570                           
    5671                        </tr>
    57                    
    58                         <tr class="prop">
    59                             <td valign="top" class="name">Is Active:</td>
     72                       
     73                        <tr class="prop">
     74                            <td valign="top" class="name">Recommended Reorder Point:</td>
     75                           
     76                            <td valign="top" class="value">${fieldValue(bean:inventoryItemInstance, field:'recommendedReorderPoint')}</td>
     77                           
     78                        </tr>
     79                   
     80                        <tr class="prop">
     81                            <td valign="top" class="name">Active:</td>
    6082                           
    6183                            <td valign="top" class="value">${fieldValue(bean:inventoryItemInstance, field:'isActive')}</td>
     
    6486                   
    6587                        <tr class="prop">
    66                             <td valign="top" class="name">Is Obsolete:</td>
     88                            <td valign="top" class="name">Obsolete:</td>
    6789                           
    6890                            <td valign="top" class="value">${fieldValue(bean:inventoryItemInstance, field:'isObsolete')}</td>
     
    7698                           
    7799                        </tr>
     100
    78101                   
    79102                        <tr class="prop">
     
    85108                   
    86109                        <tr class="prop">
    87                             <td valign="top" class="name">Unit Of Measure:</td>
    88                            
    89                             <td valign="top" class="value">${inventoryItemInstance?.unitOfMeasure?.encodeAsHTML()}</td>
    90                            
    91                         </tr>
    92                    
    93                         <tr class="prop">
    94110                            <td valign="top" class="name">Manufacturers Part Number:</td>
    95111                           
     
    125141                                <ul>
    126142                                <g:each var="a" in="${inventoryItemInstance.alternateItems}">
    127                                     <li><g:link controller="inventoryItem" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
     143                                    <li><g:link controller="inventoryItemDetailed" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
    128144                                </g:each>
    129145                                </ul>
     
    138154                                <ul>
    139155                                <g:each var="i" in="${inventoryItemInstance.inventoryMovements}">
    140                                     <li><g:link controller="inventoryMovement" action="show" id="${i.id}">${i?.encodeAsHTML()}</g:link></li>
     156                                    <li><g:link controller="inventoryMovementDetailed" action="show" id="${i.id}">${i?.encodeAsHTML()}</g:link></li>
    141157                                </g:each>
    142158                                </ul>
     
    151167                                <ul>
    152168                                <g:each var="m" in="${inventoryItemInstance.manufacturers}">
    153                                     <li><g:link controller="manufacturer" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
     169                                    <li><g:link controller="manufacturerDetailed" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
    154170                                </g:each>
    155171                                </ul>
     
    170186                           
    171187                        </tr>
    172                    
    173                         <tr class="prop">
    174                             <td valign="top" class="name">Stored Items:</td>
    175                            
    176                             <td  valign="top" style="text-align:left;" class="value">
    177                                 <ul>
    178                                 <g:each var="s" in="${inventoryItemInstance.storedItems}">
    179                                     <li><g:link controller="storedItemDetailed" action="show" id="${s.id}">${s?.encodeAsHTML()}</g:link></li>
    180                                 </g:each>
    181                                 </ul>
    182                             </td>
     188                       
     189                        <tr class="prop">
     190                            <td valign="top" class="name">Inventory Location:</td>
     191                           
     192                            <td valign="top" class="value"><g:link controller="inventoryLocationDetailed" action="show" id="${inventoryItemInstance?.inventoryLocation?.id}">${inventoryItemInstance?.inventoryLocation?.encodeAsHTML()}</g:link></td>
    183193                           
    184194                        </tr>
     
    190200                                <ul>
    191201                                <g:each var="s" in="${inventoryItemInstance.suppliers}">
    192                                     <li><g:link controller="supplier" action="show" id="${s.id}">${s?.encodeAsHTML()}</g:link></li>
     202                                    <li><g:link controller="supplierDetailed" action="show" id="${s.id}">${s?.encodeAsHTML()}</g:link></li>
    193203                                </g:each>
    194204                                </ul>
Note: See TracChangeset for help on using the changeset viewer.