import org.mxchange.jusercore.events.user.add.AdminAddedUserEvent;
/**
- * A user bean (controller)
+ * An administrative user bean (controller)
* <p>
* @author Roland Haeder<roland@mxchange.org>
*/
*/
private Short houseNumber;
+ /**
+ * Whether a cellphone entry has been unlinked
+ */
+ private boolean isCellphoneUnlinked;
+
+ /**
+ * Whether a fax entry has been unlinked
+ */
+ private boolean isFaxUnlinked;
+
+ /**
+ * Whether a land-line number has been unlinked
+ */
+ private boolean isLandLineUnlinked;
+
/**
* Land-line id number
*/
this.updateContactData(contact);
// Call EJB for updating contact data
- Contact updatedContact = this.contactBean.updateContactPersonalData(contact);
+ Contact updatedContact = this.contactBean.updateContactData(contact, this.isCellphoneUnlinked, this.isLandLineUnlinked, this.isFaxUnlinked);
// Fire event
this.updatedContactEvent.fire(new AdminContactUpdatedEvent(updatedContact));
if (null == contact) {
// Throw NPE again
throw new NullPointerException("contact is null"); //NOI18N
+ } else if (contact.getContactId() == null) {
+ // Throw NPE again
+ throw new NullPointerException("contact.contactId is null"); //NOI18N //NOI18N
} else if (contact.getContactId() < 1) {
// Not valid
throw new IllegalStateException(MessageFormat.format("contact.contactId={0} is not valid.", contact.getContactId())); //NOI18N
contact.setContactCountry(this.getCountry());
// Update contact's cellphone number
- ContactUtils.updateCellPhoneNumber(contact, this.getCellphoneCarrier(), this.getCellphoneNumber());
+ this.isCellphoneUnlinked = ContactUtils.updateCellPhoneNumber(contact, this.getCellphoneCarrier(), this.getCellphoneNumber());
- // Is there a phone number?
- if (contact.getContactLandLineNumber() instanceof DialableLandLineNumber) {
- // Debug message
- System.out.println(MessageFormat.format("updateContactData: phoneId={0}", contact.getContactLandLineNumber().getPhoneId())); //NOI18N
+ // Update contact's land-line number
+ this.isLandLineUnlinked = ContactUtils.updateLandLineNumber(contact, this.getPhoneCountry(), this.getPhoneAreaCode(), this.getPhoneNumber());
- // Yes, then update as well
- contact.getContactLandLineNumber().setPhoneAreaCode(this.getPhoneAreaCode());
- contact.getContactLandLineNumber().setPhoneNumber(this.getPhoneNumber());
- }
-
- // Is there a fax number?
- if (contact.getContactFaxNumber() instanceof DialableFaxNumber) {
- // Debug message
- System.out.println(MessageFormat.format("updateContactData: faxId={0}", contact.getContactFaxNumber().getPhoneId())); //NOI18N
-
- // Yes, then update as well
- contact.getContactFaxNumber().setPhoneAreaCode(this.getFaxAreaCode());
- contact.getContactFaxNumber().setPhoneNumber(this.getFaxNumber());
- }
+ // Update contact's fax number
+ this.isFaxUnlinked = ContactUtils.updateFaxNumber(contact, this.getFaxCountry(), this.getFaxAreaCode(), this.getFaxNumber());
}
}
import org.mxchange.jcontacts.contact.ContactSessionBeanRemote;
import org.mxchange.jcontacts.contact.UserContact;
import org.mxchange.jcontacts.contact.gender.Gender;
+import org.mxchange.jcontacts.contact.utils.ContactUtils;
import org.mxchange.jcontacts.events.contact.update.AdminUpdatedContactEvent;
import org.mxchange.jcontacts.exceptions.ContactNotFoundException;
import org.mxchange.jcountry.data.Country;
*/
private Short houseNumber;
+ /**
+ * Whether a cellphone entry has been unlinked
+ */
+ private boolean isCellphoneUnlinked;
+
+ /**
+ * Whether a fax entry has been unlinked
+ */
+ private boolean isFaxUnlinked;
+
+ /**
+ * Whether a land-line number has been unlinked
+ */
+ private boolean isLandLineUnlinked;
+
/**
* Login bean (controller)
*/
contact.setContactCity(this.getCity());
contact.setContactCountry(this.getCountry());
- // Is there a phone number?
- if (contact.getContactLandLineNumber() instanceof DialableLandLineNumber) {
- // Debug message
- System.out.println(MessageFormat.format("ContactWebBean:doChangePersonalData: phoneId={0}", contact.getContactLandLineNumber().getPhoneId())); //NOI18N
-
- // Yes, then update as well
- contact.getContactLandLineNumber().setPhoneAreaCode(this.getPhoneAreaCode());
- contact.getContactLandLineNumber().setPhoneNumber(this.getPhoneNumber());
- }
+ // Update contact's cellphone number
+ this.isCellphoneUnlinked = ContactUtils.updateCellPhoneNumber(contact, this.getCellphoneCarrier(), this.getCellphoneNumber());
- // Is there a fax number?
- if (contact.getContactFaxNumber() instanceof DialableFaxNumber) {
- // Debug message
- System.out.println(MessageFormat.format("ContactWebBean:doChangePersonalData: faxId={0}", contact.getContactFaxNumber().getPhoneId())); //NOI18N
+ // Update contact's land-line number
+ this.isLandLineUnlinked = ContactUtils.updateLandLineNumber(contact, this.getPhoneCountry(), this.getPhoneAreaCode(), this.getPhoneNumber());
- // Yes, then update as well
- contact.getContactFaxNumber().setPhoneAreaCode(this.getFaxAreaCode());
- contact.getContactFaxNumber().setPhoneNumber(this.getFaxNumber());
- }
-
- // Is there a cellphone number?
- if (contact.getContactCellphoneNumber() instanceof DialableCellphoneNumber) {
- // Debug message
- System.out.println(MessageFormat.format("ContactWebBean:doChangePersonalData: cellPhoneId={0}", contact.getContactCellphoneNumber().getPhoneId())); //NOI18N
-
- // Yes, then update as well
- contact.getContactCellphoneNumber().setCellphoneProvider(this.getCellphoneCarrier());
- contact.getContactCellphoneNumber().setPhoneNumber(this.getCellphoneNumber());
- }
+ // Update contact's fax number
+ this.isFaxUnlinked = ContactUtils.updateFaxNumber(contact, this.getFaxCountry(), this.getFaxAreaCode(), this.getFaxNumber());
// Send it to the EJB
- this.contactBean.updateContactPersonalData(contact);
+ this.contactBean.updateContactData(contact, this.isCellphoneUnlinked, this.isLandLineUnlinked, this.isFaxUnlinked);
// All fine
return "contact_data_saved"; //NOI18N
>
<f:metadata>
- <f:viewParam name="contactId" value="#{adminHelper.contact}" converter="UserConverter" required="true" requiredMessage="#{msg.ERROR_PARAMETER_CONTACT_ID_NOT_SET}" />
+ <f:viewParam name="contactId" value="#{adminHelper.contact}" converter="ContactConverter" required="true" requiredMessage="#{msg.ERROR_PARAMETER_CONTACT_ID_NOT_SET}" />
<f:viewAction action="#{adminHelper.copyContactToController()}" />
</f:metadata>
<ui:define name="content">
<h:outputText styleClass="errors" value="#{msg.ERROR_CONTACT_ID_NOT_FOUND}" rendered="#{empty adminHelper.contact}" />
- <h:form id="admin_edit_user" rendered="#{not empty adminHelper.user}">
+ <h:form id="admin_edit_user" rendered="#{not empty adminHelper.contact}">
<div class="table">
<div class="table_header">
#{msg.ADMIN_EDIT_CONTACT_TITLE}