Author: fdesbois Date: 2009-09-21 11:33:44 +0200 (Mon, 21 Sep 2009) New Revision: 18 Modified: trunk/billy-ui/src/main/java/org/chorem/billy/ui/pages/InvoiceForm.java trunk/billy-ui/src/main/webapp/InvoiceForm.tml Log: Cleaning code and add javadoc Modified: trunk/billy-ui/src/main/java/org/chorem/billy/ui/pages/InvoiceForm.java =================================================================== --- trunk/billy-ui/src/main/java/org/chorem/billy/ui/pages/InvoiceForm.java 2009-09-21 08:46:39 UTC (rev 17) +++ trunk/billy-ui/src/main/java/org/chorem/billy/ui/pages/InvoiceForm.java 2009-09-21 09:33:44 UTC (rev 18) @@ -62,15 +62,21 @@ @Inject private Logger log; + @InjectComponent + private Layout layout; + + /******************* DATA MANAGMENT FROM BUSINESS MODULE *******************************/ + @Inject private ServiceInvoice serviceInvoice; @Inject private ServiceClient serviceClient; - @InjectComponent - private Layout layout; - + /** + * Clients List from Billy-business (contains hierarchy of companies, services and persons). + * Initialized in loadData method. + */ @Persist private List<Client> clients; @@ -79,18 +85,10 @@ private String invoiceId; - @InjectComponent - private Form monForm; - - @Inject - private PropertyAccess propertyAccess; - - private GenericSelectModel<Client> companiesSelectModel; - - private SelectModel servicesSelectModel; - - private GenericSelectModel<ClientPerson> personsSelectModel; - + /** + * Preserve InvoiceId in page url (activate/passivate parameter) + * @param ec context to get the invoiceId + */ void onActivate(EventContext ec) { if (ec.getCount() > 0) { this.invoiceId = ec.get(String.class, 0); @@ -101,6 +99,9 @@ return this.invoiceId; } + /** + * Initialize of persist contents (to not surcharge billy-business access) + */ @Override @Log public void loadData() { @@ -153,6 +154,34 @@ this.invoice = invoice; } + /******************* FORM MANAGMENT *******************************/ + + @InjectComponent + private Form invoiceForm; + + /** + * Used for knowing wich submit button is clicked by user. + */ + private boolean editSelected; + + @Inject + private PropertyAccess propertyAccess; + + private GenericSelectModel<Client> companiesSelectModel; + + private SelectModel servicesSelectModel; + + private GenericSelectModel<ClientPerson> personsSelectModel; + + @Property + private String personName; + + @Property + private String clientName; + + @Property + private String serviceName; + public GenericSelectModel<Client> getCompaniesSelectModel() { if (companiesSelectModel == null) { companiesSelectModel = new GenericSelectModel<Client>(getClients(), Client.class, "name", "name", propertyAccess); @@ -175,9 +204,7 @@ options.add(new OptionModelImpl(serviceName)); } - } /*else { - options.add(new OptionModelImpl("Sélectionnez une société !", "")); - }*/ + } servicesSelectModel = new SelectModelImpl(null, options); } @@ -194,61 +221,17 @@ if (serviceName != null && !serviceName.isEmpty()) { Client client = getCompaniesSelectModel().findObject(clientName); persons = client.getServices().get(serviceName); - //personsSelectModel = new GenericSelectModel<ClientPerson>(persons, ClientPerson.class, "name", "id", propertyAccess); - } /*else { - personsSelectModel = new GenericSelectModel<ClientPerson>(new ArrayList<ClientPerson>(), ClientPerson.class, "name", "id", propertyAccess); - personsSelectModel.getOptions().add(new OptionModelImpl("Sélectionnez un service !", "")); - } */ + } personsSelectModel = new GenericSelectModel<ClientPerson>(persons, ClientPerson.class, "name", "name", propertyAccess); } return personsSelectModel; } - /*@InjectComponent - private Zone clientFormZone; - - @Persist - @Property - private String companyName; - - @Persist - @Property - private String serviceName; - - @Persist - @Property - private String personId; - - @Log - Object onChangeFromCompanies(String value) { - Client client = getCompaniesSelectModel().findObject(value); - getInvoice().getClientPerson().setClient(client); - return clientFormZone.getBody(); - } - - @Log - Object onChangeFromServices(String value) { - getInvoice().getClientPerson().setSubDivisionName(value); - return clientFormZone.getBody(); - } - - @Log - void onChangeFromPersons(String value) { - ClientPerson person = getPersonsSelectModel().findObject(value); - getInvoice().setClientPerson(person); - }*/ - - @Property - private String personName; - - @Property - private String clientName; - - @Property - private String serviceName; - - void onPrepareFromMonForm() { + /** + * Preparation for InvoiceForm (Event from Tapestry). + */ + void onPrepareFromInvoiceForm() { if (clientName == null) { clientName = getInvoice().getClientPerson().getClient().getName(); } @@ -260,8 +243,6 @@ } } - private boolean editSelected; - void onSelectedFromCompanyChange() { editSelected = true; } @@ -271,7 +252,7 @@ } @Log - Object onSuccessFromMonForm() { + Object onSuccessFromInvoiceForm() { if (clientName != null) { Client client = getCompaniesSelectModel().findObject(clientName); if (log.isDebugEnabled()) { @@ -297,20 +278,16 @@ } catch (BillyException eee) { List<String> errors = ErrorHelper.getMessages("Un erreur est survenue, sauvegarde impossible de la facture !",eee); for (String error : errors) { - monForm.recordError(error); + invoiceForm.recordError(error); } } - return monForm.getHasErrors() ? monForm : InvoiceList.class; + return invoiceForm.getHasErrors() ? invoiceForm : InvoiceList.class; } else { if (log.isDebugEnabled()) { log.debug("CHANGE ACTION"); } - - - - } - return monForm; + return invoiceForm; } } Modified: trunk/billy-ui/src/main/webapp/InvoiceForm.tml =================================================================== --- trunk/billy-ui/src/main/webapp/InvoiceForm.tml 2009-09-21 08:46:39 UTC (rev 17) +++ trunk/billy-ui/src/main/webapp/InvoiceForm.tml 2009-09-21 09:33:44 UTC (rev 18) @@ -11,7 +11,7 @@ <h1>${message:h1}</h1> <t:zone t:id="invoiceFormZone" id="invoiceFormZone" update="show"> - <form t:type="form" t:id="monForm" t:zone="invoiceFormZone"><t:errors /> + <form t:type="form" t:id="invoiceForm" t:zone="invoiceFormZone"><t:errors /> <div class="clearfix" id="billy-form-invoice"> <div class="fleft"> <p><t:label for="companies" /> : </p> @@ -42,30 +42,6 @@ </div> <p><input t:type="submit" class="ico save" t:id="saveInvoice" t:value="${message:submit-label}" /></p> </form> - - - - - - - - <!--t:beaneditform t:id="invoiceForm" t:object="invoice" - t:submitLabel="message:submit-label" - add="companies, services, persons" - include="invoiceNumber, invoiceDate, amount, hopeDate, effectiveDate" - reorder="companies, services, persons, invoiceNumber" t:zone="invoiceFormZone"> - <p:companies> - <input t:type="select" t:id="companies" t:model="companiesSelectModel" t:value="invoice.clientPerson.client.name" /> - <input t:type="submit" t:id="companyChange" t:value="OK" /> - </p:companies> - <p:services> - <input t:type="select" t:id="services" t:model="servicesSelectModel" t:value="invoice.clientPerson.subDivisionName" /> - <input t:type="submit" t:id="serviceChange" t:value="OK" /> - </p:services> - <p:persons> - <input t:type="select" t:id="persons" t:model="personsSelectModel" t:value="invoice.clientPerson.id" /> - </p:persons> - </t:beaneditform--> </t:zone> </t:layout>