]> git.mxchange.org Git - jfinancials-war.git/blob - web/admin/financial/receipt_item/admin_receipt_item_list.xhtml
ecab870fd736482efbd021759e60bed5762e196f
[jfinancials-war.git] / web / admin / financial / receipt_item / admin_receipt_item_list.xhtml
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <ui:composition
3         template="/WEB-INF/templates/admin/admin_base.tpl"
4         xmlns="http://www.w3.org/1999/xhtml"
5         xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
6         xmlns:h="http://xmlns.jcp.org/jsf/html"
7         xmlns:f="http://xmlns.jcp.org/jsf/core"
8         xmlns:p="http://primefaces.org/ui"
9         >
10
11         <ui:define name="document_admin_title">
12                 <h:outputText value="#{project.PAGE_TITLE_ADMIN_FINANCIALS_RECEIPT_ITEM_LIST}" />
13         </ui:define>
14
15         <ui:define name="content_header">
16                 <h:outputText value="#{project.CONTENT_TITLE_ADMIN_FINANCIALS_RECEIPT_ITEM_LIST}" />
17         </ui:define>
18
19         <ui:define name="content">
20                 <h:form id="form-list-financial-receipt-items">
21                         <p:dataTable
22                                 id="receiptItemList"
23                                 var="receiptItem"
24                                 value="#{receiptItemListController.allReceiptItems}"
25                                 paginator="true"
26                                 paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
27                                 filteredValue="#{receiptItemListController.filteredReceiptItems}"
28                                 rows="10"
29                                 rowKey="#{receiptItem.itemId}"
30                                 reflow="true"
31                                 resizableColumns="true"
32                                 rowsPerPageTemplate="5,10,20,50,100"
33                                 sortMode="multiple"
34                                 summary="#{project.TABLE_SUMMARY_ADMIN_LIST_RECEIPT_ITEMS}"
35                                 emptyMessage="#{project.ADMIN_EMPTY_LIST_RECEIPT_ITEM}"
36                                 widgetVar="receiptItemList"
37                                 selectionMode="single"
38                                 selection="#{receiptItemListController.selectedReceiptItem}"
39                                 skipChildren="true"
40                                 >
41
42                                 <f:facet name="header">
43                                         <p:panelGrid
44                                                 columns="3"
45                                                 layout="grid"
46                                                 columnClasses="ui-grid-col-4,ui-grid-col-6,ui-grid-col-2"
47                                                 >
48                                                 <p:spacer />
49
50                                                 <p:panelGrid
51                                                         columns="2"
52                                                         columnClasses="ui-grid-4,ui-grid-8"
53                                                         layout="grid"
54                                                         styleClass="ui-noborder"
55                                                         >
56                                                         <p:outputLabel
57                                                                 for="globalFilter"
58                                                                 value="#{msg.SEARCH_ALL_FIELDS}"
59                                                                 style="float: right"
60                                                                 />
61
62                                                         <p:inputText
63                                                                 id="globalFilter"
64                                                                 onkeyup="PF('receiptItemList').filter()"
65                                                                 placeholder="#{msg.ENTER_KEYWORD}"
66                                                                 />
67                                                 </p:panelGrid>
68
69                                                 <p:outputPanel>
70                                                         <p:spacer height="4" />
71
72                                                         <p:commandButton
73                                                                 id="toggler"
74                                                                 type="button"
75                                                                 value="#{msg.SELECT_SHOWN_COLUMNS}"
76                                                                 styleClass="column-selector"
77                                                                 />
78
79                                                         <p:columnToggler datasource="receiptItemList" trigger="toggler" />
80                                                 </p:outputPanel>
81                                         </p:panelGrid>
82                                 </f:facet>
83
84                                 <p:ajax
85                                         event="rowSelect"
86                                         update="form-list-financial-receipt-items:receipt-item-details"
87                                         oncomplete="PF('receiptItemDialog').show()"
88                                         />
89
90                                 <p:column
91                                         headerText="#{msg.ID_HEADER}"
92                                         sortBy="#{receiptItem.itemId}"
93                                         filterBy="#{receiptItem.itemId}"
94                                         >
95                                         <p:link
96                                                 outcome="admin_show_receipt_item"
97                                                 value="#{receiptItem.itemId}"
98                                                 title="#{project.ADMIN_LINK_SHOW_RECEIPT_ITEM_TITLE}"
99                                                 >
100                                                 <f:param name="receiptItemId" value="#{receiptItem.itemId}" />
101                                         </p:link>
102                                 </p:column>
103
104                                 <p:column
105                                         headerText="#{project.ADMIN_RECEIPT_HEADER}"
106                                         sortBy="#{receiptItem.itemReceipt}"
107                                         filterBy="#{receiptItem.itemReceipt}"
108                                         filterMatchMode="in"
109                                         >
110                                         <f:facet name="filter">
111                                                 <p:selectCheckboxMenu
112                                                         filter="true"
113                                                         filterMatchMode="contains"
114                                                         label="#{project.LABEL_RECEIPTS}"
115                                                         onchange="PF('receiptItemList').filter()"
116                                                         updateLabel="true"
117                                                         title="#{project.FILTER_BY_MULTIPLE_RECEIPTS_TITLE}"
118                                                         >
119                                                         <f:converter converterId="ReceiptConverter" />
120
121                                                         <f:selectItems
122                                                                 value="#{receiptListController.allReceipts}"
123                                                                 var="receipt"
124                                                                 itemValue="#{receipt}"
125                                                                 itemLabel="#{receiptBeanHelper.renderReceipt(receipt, false)}"
126                                                                 />
127                                                 </p:selectCheckboxMenu>
128                                         </f:facet>
129
130                                         <p:link
131                                                 outcome="admin_show_receipt"
132                                                 value="#{receiptBeanHelper.renderReceipt(receiptItem.itemReceipt, false)}"
133                                                 title="#{project.ADMIN_LINK_SHOW_RECEIPT_TITLE}"
134                                                 >
135                                                 <f:param name="receiptId" value="#{receiptItem.itemReceipt.receiptId}" />
136                                         </p:link>
137                                 </p:column>
138
139                                 <p:column
140                                         headerText="#{product.ADMIN_PRODUCT_HEADER}"
141                                         sortBy="#{receiptItem.itemProduct}"
142                                         filterBy="#{receiptItem.itemProduct}"
143                                         filterMatchMode="in"
144                                         >
145                                         <f:facet name="filter">
146                                                 <p:selectCheckboxMenu
147                                                         filter="true"
148                                                         filterMatchMode="contains"
149                                                         label="#{product.LABEL_PRODUCTS}"
150                                                         onchange="PF('receiptItemList').filter()"
151                                                         updateLabel="true"
152                                                         title="#{product.FILTER_BY_MULTIPLE_GENERIC_PRODUCTS_TITLE}"
153                                                         >
154                                                         <f:converter converterId="GenericProductConverter" />
155
156                                                         <f:selectItems
157                                                                 value="#{productListController.allProducts}"
158                                                                 var="genericProduct"
159                                                                 itemValue="#{genericProduct}"
160                                                                 itemLabel="#{productBeanHelper.renderGenericProduct(genericProduct)}"
161                                                                 />
162                                                 </p:selectCheckboxMenu>
163                                         </f:facet>
164
165                                         <p:link
166                                                 outcome="admin_show_generic_product"
167                                                 value="#{productBeanHelper.renderGenericProduct(receiptItem.itemProduct)}"
168                                                 title="#{project.ADMIN_LINK_SHOW_RECEIPT_ITEM_PRODUCT_TITLE}"
169                                                 >
170                                                 <f:param name="productId" value="#{receiptItem.itemProduct.productId}" />
171                                         </p:link>
172                                 </p:column>
173
174                                 <p:column
175                                         headerText="#{product.ADMIN_PRODUCT_MANUFACTURER_HEADER}"
176                                         sortBy="#{receiptItem.itemManufacturer.companyName}"
177                                         filterBy="#{receiptItem.itemManufacturer}"
178                                         filterMatchMode="in"
179                                         >
180                                         <f:facet name="filter">
181                                                 <p:selectCheckboxMenu
182                                                         filter="true"
183                                                         filterMatchMode="contains"
184                                                         label="#{msg.LABEL_COMPANIES}"
185                                                         onchange="PF('receiptItemList').filter()"
186                                                         updateLabel="true"
187                                                         title="#{msg.FILTER_BY_MULTIPLE_COMPANIES_TITLE}"
188                                                         >
189                                                         <f:converter converterId="BasicCompanyDataConverter" />
190
191                                                         <f:selectItems
192                                                                 value="#{basicDataListController.allBasicData}"
193                                                                 var="basicData"
194                                                                 itemValue="#{basicData}"
195                                                                 itemLabel="#{beanHelper.renderBasicData(basicData, true, false)}"
196                                                                 />
197                                                 </p:selectCheckboxMenu>
198                                         </f:facet>
199
200                                         <p:link
201                                                 outcome="admin_show_basic_data"
202                                                 value="#{beanHelper.renderBasicData(receiptItem.itemManufacturer, true, false)}"
203                                                 title="#{msg.ADMIN_LINK_SHOW_BASIC_DATA_TITLE}"
204                                                 rendered="#{not empty receiptItem.itemManufacturer}"
205                                                 >
206                                                 <f:param name="basicDataId" value="#{receiptItem.itemManufacturer.basicDataId}" />
207                                         </p:link>
208
209                                         <h:outputText
210                                                 value="#{msg.ADMIN_NOT_ASSIGNED}"
211                                                 title="#{project.ADMIN_NO_RECEIPT_ITEM_MANUFACTURER_ASSIGNED_TITLE}"
212                                                 rendered="#{empty receiptItem.itemManufacturer}"
213                                                 />
214                                 </p:column>
215
216                                 <p:column
217                                         headerText="#{msg.ENTRY_CREATED_HEADER}"
218                                         sortBy="#{receiptItem.itemEntryCreated}"
219                                         filterable="false"
220                                         >
221                                         <h:outputText value="#{receiptItem.itemEntryCreated}">
222                                                 <f:convertDateTime type="both" timeStyle="short" dateStyle="short" />
223                                         </h:outputText>
224                                 </p:column>
225
226                                 <p:column
227                                         headerText="#{msg.ENTRY_UPDATED_HEADER}"
228                                         sortBy="#{receiptItem.itemEntryUpdated}"
229                                         filterable="false"
230                                         >
231                                         <h:outputText value="#{receiptItem.itemEntryUpdated}">
232                                                 <f:convertDateTime type="both" timeStyle="short" dateStyle="short" />
233                                         </h:outputText>
234                                 </p:column>
235
236                                 <p:column
237                                         headerText="#{msg.ADMIN_ACTION_LINKS_HEADER}"
238                                         sortable="false"
239                                         >
240                                         <p:menuButton value="#{msg.OPTIONS}">
241                                                 <p:menuitem
242                                                         outcome="admin_show_receipt_item"
243                                                         value="#{msg.ADMIN_LINK_SHOW_SHORT}"
244                                                         title="#{project.ADMIN_LINK_SHOW_RECEIPT_ITEM_TITLE}"
245                                                         >
246                                                         <f:param name="receiptItemId" value="#{receiptItem.itemId}" />
247                                                 </p:menuitem>
248
249                                                 <p:menuitem
250                                                         outcome="admin_edit_receipt_item"
251                                                         value="#{msg.ADMIN_LINK_EDIT_SHORT}"
252                                                         title="#{project.ADMIN_LINK_EDIT_RECEIPT_ITEM_TITLE}"
253                                                         >
254                                                         <f:param name="receiptItemId" value="#{receiptItem.itemId}" />
255                                                 </p:menuitem>
256
257                                                 <p:menuitem outcome="admin_delete_receipt_item">
258                                                         <h:outputText
259                                                                 styleClass="link-danger"
260                                                                 value="#{msg.ADMIN_LINK_DELETE_SHORT}"
261                                                                 title="#{project.ADMIN_LINK_DELETE_RECEIPT_ITEM_TITLE}"
262                                                                 />
263                                                         <f:param name="receiptId" value="#{receiptItem.itemId}" />
264                                                 </p:menuitem>
265                                         </p:menuButton>
266                                 </p:column>
267                         </p:dataTable>
268
269                         <p:dialog
270                                 dynamic="true"
271                                 modal="true"
272                                 resizable="false"
273                                 header="#{project.ADMIN_SINGLE_RECEIPT_ITEM_DETAILS_HEADER}"
274                                 hideEffect="fade"
275                                 showEffect="fade"
276                                 widgetVar="receiptItemDialog"
277                                 position="top"
278                                 responsive="true"
279                                 closeOnEscape="true"
280                                 >
281                                 <p:outputPanel id="receipt-item-details">
282                                         <p:panelGrid columns="2" rendered="#{not empty receiptItemListController.selectedReceiptItem}">
283                                                 <f:facet name="header">
284                                                         <h:outputFormat value="#{project.ADMIN_RECEIPT_ITEM_DETAILS_HEADER}">
285                                                                 <f:param value="#{receiptItemListController.selectedReceiptItem.itemId}" />
286                                                         </h:outputFormat>
287                                                 </f:facet>
288
289                                                 <p:outputLabel value="#{msg.ID_HEADER}" title="#{project.RECEIPT_ITEM_ID_NUMBER_TITLE}" />
290                                                 <h:outputText value="#{receiptItemListController.selectedReceiptItem.itemId}" />
291
292                                                 <p:outputLabel value="#{project.RECEIPT_ITEM_NUMBER_HEADER}" title="#{project.RECEIPT_ITEM_NUMBER_TITLE}" />
293                                                 <h:outputText value="#{receiptItemListController.selectedReceiptItem.itemNumber}" />
294
295                                                 <p:outputLabel value="#{project.RECEIPT_ITEM_PRODUCT_QUANTITY_HEADER}" title="#{project.RECEIPT_ITEM_PRODUCT_QUANTITY_TITLE}" />
296                                                 <h:outputText value="#{receiptItemListController.selectedReceiptItem.itemProductQuantity}" />
297
298                                                 <p:outputLabel value="#{project.BRAND_NAME_HEADER}" title="#{project.RECEIPT_ITEM_BRAND_NAME_TITLE}" />
299                                                 <h:outputText value="#{receiptItemListController.selectedReceiptItem.itemBrandName}" />
300
301                                                 <p:outputLabel value="#{product.GENERIC_PRODUCT_I18N_KEY_HEADER}" title="#{product.GENERIC_PRODUCT_I18N_KEY_TITLE}" />
302                                                 <p:link
303                                                         outcome="admin_show_generic_product"
304                                                         value="#{productBeanHelper.renderGenericProduct(receiptItemListController.selectedReceiptItem.itemProduct)}"
305                                                         title="#{project.ADMIN_LINK_SHOW_RECEIPT_ITEM_PRODUCT_TITLE}"
306                                                         >
307                                                         <f:param name="productId" value="#{receiptItemListController.selectedReceiptItem.itemProduct.productId}" />
308                                                 </p:link>
309
310                                                 <p:outputLabel value="#{msg.ADMIN_MANUFACTURER_HEADER}" title="#{project.ADMIN_ASSIGNED_RECEIPT_ITEM_MANUFACTURER_TITLE}" />
311                                                 <p:link
312                                                         outcome="admin_show_basic_data"
313                                                         title="#{msg.ADMIN_LINK_SHOW_BASIC_DATA_TITLE}"
314                                                         rendered="#{not empty receiptItemListController.selectedReceiptItem.itemManufacturer}"
315                                                         >
316                                                         <h:outputText value="#{beanHelper.renderBasicData(receiptItemListController.selectedReceiptItem.itemManufacturer, false, true)}" />
317                                                 </p:link>
318                                                 <h:outputText value="#{project.RECEIPT_ITEM_HAS_NO_MANUFACTURER_ASSIGNED}" rendered="#{empty receiptItemListController.selectedReceiptItem.itemManufacturer}" />
319
320                                                 <p:outputLabel value="#{project.GROSS_PRICE_HEADER}" title="#{project.RECEIPT_ITEM_GROSS_PRICE_TITLE}" />
321                                                 <h:outputText value="#{receiptItemListController.selectedReceiptItem.itemGrossPrice}">
322                                                         <!-- @TODO Hard-coded EUR again -->
323                                                         <f:convertNumber type="currency" currencyCode="EUR" />
324                                                 </h:outputText>
325
326                                                 <p:outputLabel value="#{project.NET_PRICE_HEADER}" title="#{project.RECEIPT_ITEM_NET_PRICE_TITLE}" />
327                                                 <h:outputText value="#{receiptItemListController.selectedReceiptItem.itemNetPrice}">
328                                                         <!-- @TODO Hard-coded EUR again -->
329                                                         <f:convertNumber type="currency" currencyCode="EUR" />
330                                                 </h:outputText>
331
332                                                 <p:outputLabel value="#{project.TAX_RATE_HEADER}" title="#{project.RECEIPT_ITEM_TAX_RATE_TITLE}" />
333                                                 <h:outputText value="#{receiptItemListController.selectedReceiptItem.itemTaxRate}">
334                                                         <!-- @TODO No real percentage number, 7.0 means 7.0%, not 700% -->
335                                                         <f:convertNumber type="number" />
336                                                 </h:outputText>
337
338                                                 <p:outputLabel value="#{project.IS_DISCOUNT_HEADER}" title="#{project.RECEIPT_ITEM_IS_DISCOUNT_TITLE}" />
339                                                 <h:outputText value="#{receiptItemListController.selectedReceiptItem.itemIsDiscount ? msg.CHOICE_YES : msg.CHOICE_NO}" />
340
341                                                 <p:outputLabel value="#{project.IS_REFUND_HEADER}" title="#{project.RECEIPT_ITEM_IS_REFUND_TITLE}" />
342                                                 <h:outputText value="#{receiptItemListController.selectedReceiptItem.itemIsRefund ? msg.CHOICE_YES : msg.CHOICE_NO}" />
343
344                                                 <p:outputLabel value="#{project.ASSIGNED_RECEIPT_HEADER}" title="#{project.RECEIPT_ITEM_ASSIGNED_RECEIPT_TITLE}" />
345                                                 <p:link
346                                                         outcome="admin_show_receipt"
347                                                         value="#{receiptBeanHelper.renderReceipt(receiptItemListController.selectedReceiptItem.itemReceipt, true)}"
348                                                         title="#{project.ADMIN_LINK_SHOW_RECEIPT_TITLE}"
349                                                         >
350                                                         <f:param name="receiptId" value="#{receiptItemListController.selectedReceiptItem.itemReceipt.receiptId}" />
351                                                 </p:link>
352
353                                                 <p:outputLabel value="#{msg.ENTRY_CREATED_HEADER}" title="#{project.RECEIPT_ITEM_CREATED_TITLE}" />
354                                                 <h:outputText value="#{receiptItemListController.selectedReceiptItem.itemEntryCreated}">
355                                                         <f:convertDateTime type="both" timeStyle="short" dateStyle="short" />
356                                                 </h:outputText>
357
358                                                 <p:outputLabel value="#{msg.ENTRY_UPDATED_HEADER}" title="#{project.RECEIPT_ITEM_UPDATED_TITLE}" />
359                                                 <h:outputText value="#{receiptItemListController.selectedReceiptItem.itemEntryUpdated}">
360                                                         <f:convertDateTime type="both" timeStyle="short" dateStyle="short" />
361                                                 </h:outputText>
362                                         </p:panelGrid>
363                                 </p:outputPanel>
364                         </p:dialog>
365                 </h:form>
366
367                 <h:form>
368                         <p:panelGrid
369                                 columns="1"
370                                 layout="grid"
371                                 >
372                                 <h:panelGroup styleClass="table-header" layout="block">
373                                         <h4>
374                                                 <h:outputText value="#{project.ADMIN_ADD_RECEIPT_ITEM_TITLE}" />
375                                         </h4>
376                                 </h:panelGroup>
377
378                                 <ui:include src="/WEB-INF/templates/admin/financial/receipt_item/admin_form_financial_receipt_item.tpl" />
379
380                                 <p:panelGrid columns="2" layout="grid">
381                                         <p:commandButton
382                                                 styleClass="reset"
383                                                 type="reset"
384                                                 value="#{msg.BUTTON_RESET_FORM}"
385                                                 />
386
387                                         <p:commandButton
388                                                 type="submit"
389                                                 value="#{project.BUTTON_ADMIN_ADD_RECEIPT_TEM}"
390                                                 action="#{adminReceiptItemActionController.addReceiptItem()}"
391                                                 update="form-list-financial-receipt-items:receiptItemList"
392                                                 />
393                                 </p:panelGrid>
394                         </p:panelGrid>
395                 </h:form>
396         </ui:define>
397 </ui:composition>