From 0797a125e75d8ff6f1d9739a396a001f341fb055 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Mon, 15 Aug 2016 17:50:17 +0200 Subject: [PATCH] Continued with contact-cellphone: (please cherry-pick) - renamed template to admin_form_add_contact_cellphone.tpl to make it more clear - adminContactPhoneController is a request-scoped controller - implemented allNonLinkedCellphoneNumbers() which fires an event to remove already used contacts - this may become handy when more than one entity (now only contact) links to cellphone numbers - added missing i18n strings MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Roland Häder --- .../phone/JobsAdminPhoneWebRequestBean.java | 46 +++++++++++++++ .../JobsAdminPhoneWebRequestController.java | 23 ++++++++ .../localization/bundle_de_DE.properties | 3 + .../localization/bundle_en_US.properties | 3 + .../cellphone/admin_cellphone_add_show.tpl | 2 +- .../admin_form_add_contact_cellphone.tpl | 56 +++++++++++++++++++ .../admin_form_contact_cellphone.tpl | 12 ---- 7 files changed, 132 insertions(+), 13 deletions(-) create mode 100644 web/WEB-INF/templates/admin/cellphone/admin_form_add_contact_cellphone.tpl delete mode 100644 web/WEB-INF/templates/admin/cellphone/admin_form_contact_cellphone.tpl diff --git a/src/java/org/mxchange/jjobs/beans/phone/JobsAdminPhoneWebRequestBean.java b/src/java/org/mxchange/jjobs/beans/phone/JobsAdminPhoneWebRequestBean.java index 9eb10455..5dc093bc 100644 --- a/src/java/org/mxchange/jjobs/beans/phone/JobsAdminPhoneWebRequestBean.java +++ b/src/java/org/mxchange/jjobs/beans/phone/JobsAdminPhoneWebRequestBean.java @@ -17,6 +17,7 @@ package org.mxchange.jjobs.beans.phone; import java.text.MessageFormat; +import java.util.List; import java.util.Objects; import javax.enterprise.context.RequestScoped; import javax.enterprise.event.Event; @@ -29,6 +30,12 @@ import javax.naming.InitialContext; import javax.naming.NamingException; import org.mxchange.jjobs.beans.BaseJobsController; import org.mxchange.jjobs.beans.helper.JobsWebRequestController; +import org.mxchange.jphone.events.cellphone.deleted.AdminCellphoneNumberDeletedEvent; +import org.mxchange.jphone.events.cellphone.deleted.AdminDeletedCellphoneNumberEvent; +import org.mxchange.jphone.events.cellphone.remove.AdminCellphoneNumberRemovedFromListEvent; +import org.mxchange.jphone.events.cellphone.remove.AdminRemoveCellphoneNumberFromListEvent; +import org.mxchange.jphone.events.cellphone.updated.AdminCellphoneNumberUpdatedEvent; +import org.mxchange.jphone.events.cellphone.updated.AdminUpdatedCellphoneNumberEvent; import org.mxchange.jphone.phonenumbers.cellphone.DialableCellphoneNumber; import org.mxchange.jphone.phonenumbers.mobileprovider.MobileProvider; import org.mxchange.jphone.phonenumbers.phone.AdminPhoneSessionBeanRemote; @@ -77,11 +84,28 @@ public class JobsAdminPhoneWebRequestBean extends BaseJobsController implements */ private MobileProvider cellphoneProvider; + /** + * Cell phone number + */ + private DialableCellphoneNumber choosenCellphoneNumber; + + /** + * Generic hone controller + */ + @Inject + private JobsPhoneWebApplicationController phoneController; + /** * Phone number */ private Long phoneNumber; + /** + * Event being fired when a list of all unsed cell phone numbers is being + * created. + */ + private Event removeLinkedCellphoneNumbersEvent; + /** * Default constructor */ @@ -99,6 +123,18 @@ public class JobsAdminPhoneWebRequestBean extends BaseJobsController implements } } + @Override + public List allNonLinkedCellphoneNumbers () { + // Get list of all cell phone numbers + List list = this.phoneController.allCellphoneNumbers(); + + // Visit all controllers to reduce the list + this.removeLinkedCellphoneNumbersEvent.fire(new AdminCellphoneNumberRemovedFromListEvent(list)); + + // Return it + return list; + } + @Override public String deleteCellphoneData () { // Is all data set @@ -211,6 +247,16 @@ public class JobsAdminPhoneWebRequestBean extends BaseJobsController implements this.cellphoneProvider = cellphoneProvider; } + @Override + public DialableCellphoneNumber getChoosenCellphoneNumber () { + return this.choosenCellphoneNumber; + } + + @Override + public void setChoosenCellphoneNumber (final DialableCellphoneNumber choosenCellphoneNumber) { + this.choosenCellphoneNumber = choosenCellphoneNumber; + } + @Override public Long getPhoneNumber () { return this.phoneNumber; diff --git a/src/java/org/mxchange/jjobs/beans/phone/JobsAdminPhoneWebRequestController.java b/src/java/org/mxchange/jjobs/beans/phone/JobsAdminPhoneWebRequestController.java index 82db717d..87e288e6 100644 --- a/src/java/org/mxchange/jjobs/beans/phone/JobsAdminPhoneWebRequestController.java +++ b/src/java/org/mxchange/jjobs/beans/phone/JobsAdminPhoneWebRequestController.java @@ -17,7 +17,9 @@ package org.mxchange.jjobs.beans.phone; import java.io.Serializable; +import java.util.List; import javax.ejb.Local; +import org.mxchange.jphone.phonenumbers.cellphone.DialableCellphoneNumber; import org.mxchange.jphone.phonenumbers.mobileprovider.MobileProvider; /** @@ -29,6 +31,13 @@ import org.mxchange.jphone.phonenumbers.mobileprovider.MobileProvider; @Local public interface JobsAdminPhoneWebRequestController extends Serializable { + /** + * Returns a list of all unused ("non-linked") cell phone numbers + *

+ * @return List with all unused cell phone numbers + */ + List allNonLinkedCellphoneNumbers (); + /** * Deletes given cellphone entry data *

@@ -57,6 +66,20 @@ public interface JobsAdminPhoneWebRequestController extends Serializable { */ void setCellphoneProvider (final MobileProvider cellphoneProvider); + /** + * Getter for choosen cell phone number + *

+ * @return Choosen cell phone number + */ + DialableCellphoneNumber getChoosenCellphoneNumber (); + + /** + * Setter for choosen cell phone number + *

+ * @param choosenCellphoneNumber Choosen cell phone number + */ + void setChoosenCellphoneNumber (final DialableCellphoneNumber choosenCellphoneNumber); + /** * Getter for dial number without prefix *

diff --git a/src/java/org/mxchange/localization/bundle_de_DE.properties b/src/java/org/mxchange/localization/bundle_de_DE.properties index a6e175c1..ac363875 100644 --- a/src/java/org/mxchange/localization/bundle_de_DE.properties +++ b/src/java/org/mxchange/localization/bundle_de_DE.properties @@ -641,3 +641,6 @@ ERROR_USER_NAME_ALREADY_USED=Benutzername bereits verwendet. Bitte geben Sie ein ERROR_EMAIL_ADDRESSES_MISMATCHING=Die eingegebenen Email-Addressen stimmen nicht \u00fcberein. ERROR_EMAIL_ADDRESS_ALREADY_USED=Die eingegebene Email-Adresse wird bereits verwendet und kann nicht erneut verwendet werden. ERROR_CELLPHONE_CONTACT_NOT_LINKED=Fehler: Mobilfunk-Id {0} ist nicht mit Kontakt-Id {1} verkn\u00fcpft. +ADMIN_ADD_CONTACT_CELLPHONE_FORM_TITLE=Mobilfunknummer einem Kontakt hinzuf\u00fcgen +ADMIN_SELECT_CELLPHONE=Mobilfunknummer ausw\u00e4hlen: +BUTTON_ADMIN_LINK_ADD_CONTACT_CELLPHONE=Mobilfunknummer zum Kontakt hinzuf\u00fcgen diff --git a/src/java/org/mxchange/localization/bundle_en_US.properties b/src/java/org/mxchange/localization/bundle_en_US.properties index 87c9a3e4..3aa2be80 100644 --- a/src/java/org/mxchange/localization/bundle_en_US.properties +++ b/src/java/org/mxchange/localization/bundle_en_US.properties @@ -641,3 +641,6 @@ ERROR_USER_NAME_ALREADY_USED=User name already used. Please enter another name. ERROR_EMAIL_ADDRESSES_MISMATCHING=Both entered email addresses are not the same. ERROR_EMAIL_ADDRESS_ALREADY_USED=Your entered email address is already used. Please enter another and try again. ERROR_CELLPHONE_CONTACT_NOT_LINKED=Error: Cell phone id {0} is not linked with contact id {1}. +ADMIN_ADD_CONTACT_CELLPHONE_FORM_TITLE=Add cell phone number to contact +ADMIN_SELECT_CELLPHONE=Choose cell phone number: +BUTTON_ADMIN_LINK_ADD_CONTACT_CELLPHONE=Add cell phone number to contact diff --git a/web/WEB-INF/templates/admin/cellphone/admin_cellphone_add_show.tpl b/web/WEB-INF/templates/admin/cellphone/admin_cellphone_add_show.tpl index 4f127340..441ade25 100644 --- a/web/WEB-INF/templates/admin/cellphone/admin_cellphone_add_show.tpl +++ b/web/WEB-INF/templates/admin/cellphone/admin_cellphone_add_show.tpl @@ -8,7 +8,7 @@ - + diff --git a/web/WEB-INF/templates/admin/cellphone/admin_form_add_contact_cellphone.tpl b/web/WEB-INF/templates/admin/cellphone/admin_form_add_contact_cellphone.tpl new file mode 100644 index 00000000..18aa1b11 --- /dev/null +++ b/web/WEB-INF/templates/admin/cellphone/admin_form_add_contact_cellphone.tpl @@ -0,0 +1,56 @@ + + + + + + + +

+ +
+ +
+ +
+ +
+
+ +
+ +
+ + + + + +
+
+ +
+ +
+ +
+
+ +
+ +
+ + + +
+
+ + + + + diff --git a/web/WEB-INF/templates/admin/cellphone/admin_form_contact_cellphone.tpl b/web/WEB-INF/templates/admin/cellphone/admin_form_contact_cellphone.tpl deleted file mode 100644 index 06e96e21..00000000 --- a/web/WEB-INF/templates/admin/cellphone/admin_form_contact_cellphone.tpl +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - -- 2.39.5