From 8ed657209d14e7f57af941079e2ee87ec85b39bb Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Tue, 3 May 2016 15:26:28 +0200 Subject: [PATCH] Continued with recruiter - added initial admin recruiter pages/templates - added admin menu for listing recruiters - added/fixed i18n strings - added missing copyRecruiterToController() - fixed project description - fixed JNDI names - fixed copyright/email address - fixed/added CSS classes MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Roland Häder --- nbproject/faces-config.NavData | 112 +++++++++--------- .../JobsEmailChangeWebSessionController.java | 8 +- .../helper/JobsAdminWebRequestController.java | 2 +- .../helper/JobsAdminWebRequestHelper.java | 2 +- .../JobsLocalizationSessionBean.java | 18 +-- .../login/JobsUserLoginWebSessionBean.java | 5 +- .../JobsUserLoginWebSessionController.java | 1 + .../JobsMobileProviderWebRequestBean.java | 2 +- ...obsMobileProviderWebRequestController.java | 2 +- .../JobsUserProfileWebRequestController.java | 1 + ...bsProfileModeWebApplicationController.java | 1 + .../beans/user/JobsUserWebSessionBean.java | 29 +++-- .../converter/user/JobsUserConverter.java | 3 +- .../localization/bundle_de_DE.properties | 6 +- .../localization/bundle_en_US.properties | 4 +- web/WEB-INF/faces-config.xml | 8 ++ web/WEB-INF/templates/admin/admin_menu.tpl | 8 ++ .../admin/contact/admin_form_contact_data.tpl | 8 +- web/resources/css/cssLayout.css | 6 +- 19 files changed, 123 insertions(+), 103 deletions(-) diff --git a/nbproject/faces-config.NavData b/nbproject/faces-config.NavData index 61be65f4..599d7838 100644 --- a/nbproject/faces-config.NavData +++ b/nbproject/faces-config.NavData @@ -2,62 +2,62 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/org/mxchange/jjobs/beans/email_address/JobsEmailChangeWebSessionController.java b/src/java/org/mxchange/jjobs/beans/email_address/JobsEmailChangeWebSessionController.java index 8f25eb4d..617adf92 100644 --- a/src/java/org/mxchange/jjobs/beans/email_address/JobsEmailChangeWebSessionController.java +++ b/src/java/org/mxchange/jjobs/beans/email_address/JobsEmailChangeWebSessionController.java @@ -35,9 +35,9 @@ public interface JobsEmailChangeWebSessionController extends Serializable { /** * Setter for email address 1 (changing) *

- * @param emailAddress1 Email address 1 + * @param emailAddress Email address 1 */ - void setEmailAddress (final String emailAddress1); + void setEmailAddress (final String emailAddress); /** * Getter for email address 2 (repeat changing) @@ -49,9 +49,9 @@ public interface JobsEmailChangeWebSessionController extends Serializable { /** * Setter for email address 2 (repeat changing) *

- * @param emailAddress2 Email address 2 + * @param emailAddressRepeat Email address 2 */ - void setEmailAddressRepeat (final String emailAddress2); + void setEmailAddressRepeat (final String emailAddressRepeat); /** * Checks whether all required are set for changing email address diff --git a/src/java/org/mxchange/jjobs/beans/helper/JobsAdminWebRequestController.java b/src/java/org/mxchange/jjobs/beans/helper/JobsAdminWebRequestController.java index a5b7985f..0249d9bb 100644 --- a/src/java/org/mxchange/jjobs/beans/helper/JobsAdminWebRequestController.java +++ b/src/java/org/mxchange/jjobs/beans/helper/JobsAdminWebRequestController.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 Roland Haeder GmbH + * Copyright (C) 2016 Roland Haeder * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as diff --git a/src/java/org/mxchange/jjobs/beans/helper/JobsAdminWebRequestHelper.java b/src/java/org/mxchange/jjobs/beans/helper/JobsAdminWebRequestHelper.java index 50c12e66..697e366e 100644 --- a/src/java/org/mxchange/jjobs/beans/helper/JobsAdminWebRequestHelper.java +++ b/src/java/org/mxchange/jjobs/beans/helper/JobsAdminWebRequestHelper.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 Roland Haeder GmbH + * Copyright (C) 2016 Roland Haeder * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as diff --git a/src/java/org/mxchange/jjobs/beans/localization/JobsLocalizationSessionBean.java b/src/java/org/mxchange/jjobs/beans/localization/JobsLocalizationSessionBean.java index 62d99a8b..1fcc2bbd 100644 --- a/src/java/org/mxchange/jjobs/beans/localization/JobsLocalizationSessionBean.java +++ b/src/java/org/mxchange/jjobs/beans/localization/JobsLocalizationSessionBean.java @@ -47,14 +47,14 @@ public class JobsLocalizationSessionBean extends BaseDatabaseBean implements Job @Override public String getLanguage () { - //this.getLoggerBeanLocal().logTrace(MessageFormat.format("JobsLocalizationSessionBean::getLanguage(): locale.language={0} - EXIT!", this.getLocale().getLanguage())); //NOI18N + //this.getLoggerBeanLocal().logTrace(MessageFormat.format("RecruiterLocalizationSessionBean::getLanguage(): locale.language={0} - EXIT!", this.getLocale().getLanguage())); //NOI18N return this.getLocale().getLanguage().toLowerCase(); } @Override public void setLanguage (final String language) { // Log trace message - //this.getLoggerBeanLocal().logTrace(MessageFormat.format("JobsLocalizationSessionBean::setLanguage: language={0} - CALLED!", language)); //NOI18N + //this.getLoggerBeanLocal().logTrace(MessageFormat.format("RecruiterLocalizationSessionBean::setLanguage: language={0} - CALLED!", language)); //NOI18N // Is the language null? if (null == language) { @@ -72,25 +72,25 @@ public class JobsLocalizationSessionBean extends BaseDatabaseBean implements Job Locale loc = new Locale(splits[0], splits[1]); // Log debug message - //this.getLoggerBeanLocal().logDebug(MessageFormat.format("JobsLocalizationSessionBean::setLanguage: loc={0}", loc)); //NOI18N + //this.getLoggerBeanLocal().logDebug(MessageFormat.format("RecruiterLocalizationSessionBean::setLanguage: loc={0}", loc)); //NOI18N // Set it here and in the JSF context this.setLocale(loc); FacesContext.getCurrentInstance().getViewRoot().setLocale(loc); // Log trace message - //this.getLoggerBeanLocal().logTrace("JobsLocalizationSessionBean::setLanguage: EXIT!"); //NOI18N + //this.getLoggerBeanLocal().logTrace("RecruiterLocalizationSessionBean::setLanguage: EXIT!"); //NOI18N } @Override public Locale getLocale () { - //this.getLoggerBeanLocal().logTrace(MessageFormat.format("JobsLocalizationSessionBean::getLocale(): locale={0} - EXIT!", this.locale)); //NOI18N + //this.getLoggerBeanLocal().logTrace(MessageFormat.format("RecruiterLocalizationSessionBean::getLocale(): locale={0} - EXIT!", this.locale)); //NOI18N return this.locale; } @Override public void setLocale (final Locale locale) { - //this.getLoggerBeanLocal().logTrace(MessageFormat.format("JobsLocalizationSessionBean::setLocale(): locale={0} - CALLED!", locale)); //NOI18N + //this.getLoggerBeanLocal().logTrace(MessageFormat.format("RecruiterLocalizationSessionBean::setLocale(): locale={0} - CALLED!", locale)); //NOI18N this.locale = locale; } @@ -109,19 +109,19 @@ public class JobsLocalizationSessionBean extends BaseDatabaseBean implements Job @PostConstruct public void init () { // Log trace message - //this.getLoggerBeanLocal().logTrace("JobsLocalizationSessionBean::init: CALLED!"); //NOI18N + //this.getLoggerBeanLocal().logTrace("RecruiterLocalizationSessionBean::init: CALLED!"); //NOI18N // Create locale instance from context Locale loc = FacesContext.getCurrentInstance().getExternalContext().getRequestLocale(); // Log debug message - //this.getLoggerBeanLocal().logDebug(MessageFormat.format("JobsLocalizationSessionBean::init: loc={0}", loc)); //NOI18N + //this.getLoggerBeanLocal().logDebug(MessageFormat.format("RecruiterLocalizationSessionBean::init: loc={0}", loc)); //NOI18N // Set it here this.setLocale(loc); // Log trace message - //this.getLoggerBeanLocal().logTrace("JobsLocalizationSessionBean::init: EXIT!"); //NOI18N + //this.getLoggerBeanLocal().logTrace("RecruiterLocalizationSessionBean::init: EXIT!"); //NOI18N } } diff --git a/src/java/org/mxchange/jjobs/beans/login/JobsUserLoginWebSessionBean.java b/src/java/org/mxchange/jjobs/beans/login/JobsUserLoginWebSessionBean.java index d9281d99..43bd9254 100644 --- a/src/java/org/mxchange/jjobs/beans/login/JobsUserLoginWebSessionBean.java +++ b/src/java/org/mxchange/jjobs/beans/login/JobsUserLoginWebSessionBean.java @@ -207,14 +207,15 @@ public class JobsUserLoginWebSessionBean implements JobsUserLoginWebSessionContr @Override public boolean isUserLoggedIn () { // Trace message - // NOISY-DEBUG System.out.println(MessageFormat.format("JobsUserLoginWebSessionBean:isUserLoggedIn: this.loggedInUser={0},this.templateType={1} - CALLED!", this.getLoggedInUser(), this.getTemplateType())); + // NOISY-DEBUG System.out.println(MessageFormat.format("RecruiterUserLoginWebSessionBean:isUserLoggedIn: this.loggedInUser={0},this.templateType={1} - CALLED!", this.getLoggedInUser(), this.getTemplateType())); // Compare instance this.userLoggedIn = ((this.getLoggedInUser() instanceof User) && (Objects.equals(this.getLoggedInUser().getUserAccountStatus(), UserAccountStatus.CONFIRMED))); // Trace message - // NOISY-DEBUG System.out.println(MessageFormat.format("JobsUserLoginWebSessionBean:isUserLoggedIn: this.userLoggedIn={0} - EXIT!", this.userLoggedIn)); + // NOISY-DEBUG System.out.println(MessageFormat.format("RecruiterUserLoginWebSessionBean:isUserLoggedIn: this.userLoggedIn={0} - EXIT!", this.userLoggedIn)); // Return it return this.userLoggedIn; } + } diff --git a/src/java/org/mxchange/jjobs/beans/login/JobsUserLoginWebSessionController.java b/src/java/org/mxchange/jjobs/beans/login/JobsUserLoginWebSessionController.java index 7815f2f4..a1734909 100644 --- a/src/java/org/mxchange/jjobs/beans/login/JobsUserLoginWebSessionController.java +++ b/src/java/org/mxchange/jjobs/beans/login/JobsUserLoginWebSessionController.java @@ -103,4 +103,5 @@ public interface JobsUserLoginWebSessionController extends Serializable { * @return If current password matches */ boolean ifCurrentPasswordMatches (); + } diff --git a/src/java/org/mxchange/jjobs/beans/mobileprovider/JobsMobileProviderWebRequestBean.java b/src/java/org/mxchange/jjobs/beans/mobileprovider/JobsMobileProviderWebRequestBean.java index e217b30a..147fac45 100644 --- a/src/java/org/mxchange/jjobs/beans/mobileprovider/JobsMobileProviderWebRequestBean.java +++ b/src/java/org/mxchange/jjobs/beans/mobileprovider/JobsMobileProviderWebRequestBean.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 Roland Haeder + * Copyright (C) 2016 Roland Haeder * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as diff --git a/src/java/org/mxchange/jjobs/beans/mobileprovider/JobsMobileProviderWebRequestController.java b/src/java/org/mxchange/jjobs/beans/mobileprovider/JobsMobileProviderWebRequestController.java index e774dad5..77d1d59a 100644 --- a/src/java/org/mxchange/jjobs/beans/mobileprovider/JobsMobileProviderWebRequestController.java +++ b/src/java/org/mxchange/jjobs/beans/mobileprovider/JobsMobileProviderWebRequestController.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 Roland Haeder + * Copyright (C) 2016 Roland Haeder * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as diff --git a/src/java/org/mxchange/jjobs/beans/profile/JobsUserProfileWebRequestController.java b/src/java/org/mxchange/jjobs/beans/profile/JobsUserProfileWebRequestController.java index 6789f81e..339e2040 100644 --- a/src/java/org/mxchange/jjobs/beans/profile/JobsUserProfileWebRequestController.java +++ b/src/java/org/mxchange/jjobs/beans/profile/JobsUserProfileWebRequestController.java @@ -43,4 +43,5 @@ public interface JobsUserProfileWebRequestController extends Serializable { * @return Whether the user's profile is visible */ boolean isProfileLinkVisibleByUser (final User user); + } diff --git a/src/java/org/mxchange/jjobs/beans/profilemode/JobsProfileModeWebApplicationController.java b/src/java/org/mxchange/jjobs/beans/profilemode/JobsProfileModeWebApplicationController.java index 38bc58a1..e52e10e4 100644 --- a/src/java/org/mxchange/jjobs/beans/profilemode/JobsProfileModeWebApplicationController.java +++ b/src/java/org/mxchange/jjobs/beans/profilemode/JobsProfileModeWebApplicationController.java @@ -32,4 +32,5 @@ public interface JobsProfileModeWebApplicationController extends Serializable { * @return All genders as array */ ProfileMode[] getAllProfileModes (); + } diff --git a/src/java/org/mxchange/jjobs/beans/user/JobsUserWebSessionBean.java b/src/java/org/mxchange/jjobs/beans/user/JobsUserWebSessionBean.java index 76d291dc..fdfb1380 100644 --- a/src/java/org/mxchange/jjobs/beans/user/JobsUserWebSessionBean.java +++ b/src/java/org/mxchange/jjobs/beans/user/JobsUserWebSessionBean.java @@ -73,7 +73,12 @@ public class JobsUserWebSessionBean implements JobsUserWebSessionController { * Login bean (controller) */ @Inject - private JobsUserLoginWebSessionController loginController; + private JobsUserLoginWebSessionController userLoginController; + + /** + * A list of all selectable contacts + */ + private List selectableContacts; /** * Event being fired when user updated personal data @@ -253,30 +258,30 @@ public class JobsUserWebSessionBean implements JobsUserWebSessionController { @Override public String doChangePersonalData () { // This method shall only be called if the user is logged-in - if (!this.loginController.isUserLoggedIn()) { + if (!this.userLoginController.isUserLoggedIn()) { // Not logged-in throw new IllegalStateException("User is not logged-in"); //NOI18N } else if (!this.isRequiredChangePersonalDataSet()) { // Not all required fields are set throw new FaceletException("Not all required fields are set."); //NOI18N - } else if (!this.loginController.ifCurrentPasswordMatches()) { + } else if (!this.userLoginController.ifCurrentPasswordMatches()) { // Password not matching - throw new FaceletException(new UserPasswordMismatchException(this.loginController.getLoggedInUser())); + throw new FaceletException(new UserPasswordMismatchException(this.userLoginController.getLoggedInUser())); } // Get user instance - User user = this.loginController.getLoggedInUser(); + User user = this.userLoginController.getLoggedInUser(); // Copy contact data to contact instance this.contactController.updateContactDataFromController(user.getUserContact()); // It should be there, so run some tests on it - assert (user instanceof User) : "Instance loginController.loggedInUser is null"; //NOI18N - assert (user.getUserId() instanceof Long) : "Instance loginController.loggedInUser.userId is null"; //NOI18N - assert (user.getUserId() > 0) : MessageFormat.format("loginController.loggedInUser.userId={0} is invalid", user.getUserId()); //NOI18N - assert (user.getUserContact() instanceof Contact) : "Instance loginController.loggedInUser.userContact is null"; //NOI18N - assert (user.getUserContact().getContactId() instanceof Long) : "Instance loginController.userContact.contactId is null"; //NOI18N - assert (user.getUserContact().getContactId() > 0) : MessageFormat.format("Instance loginController.userContact.contactId={0} is invalid", user.getUserContact().getContactId()); //NOI18N + assert (user instanceof User) : "Instance userLoginController.loggedInUser is null"; //NOI18N + assert (user.getUserId() instanceof Long) : "Instance userLoginController.loggedInUser.userId is null"; //NOI18N + assert (user.getUserId() > 0) : MessageFormat.format("userLoginController.loggedInUser.userId={0} is invalid", user.getUserId()); //NOI18N + assert (user.getUserContact() instanceof Contact) : "Instance userLoginController.loggedInUser.userContact is null"; //NOI18N + assert (user.getUserContact().getContactId() instanceof Long) : "Instance userLoginController.userContact.contactId is null"; //NOI18N + assert (user.getUserContact().getContactId() > 0) : MessageFormat.format("Instance userLoginController.userContact.contactId={0} is invalid", user.getUserContact().getContactId()); //NOI18N // Update all fields user.setUserProfileMode(this.getUserProfileMode()); @@ -350,7 +355,7 @@ public class JobsUserWebSessionBean implements JobsUserWebSessionController { this.userNameList = this.userBean.getUserNameList(); // Is the user logged-in? - if (this.loginController.isUserLoggedIn()) { + if (this.userLoginController.isUserLoggedIn()) { // Is logged-in, so load also users visible to memebers this.visibleUserList = this.userBean.allMemberPublicVisibleUsers(); } else { diff --git a/src/java/org/mxchange/jjobs/converter/user/JobsUserConverter.java b/src/java/org/mxchange/jjobs/converter/user/JobsUserConverter.java index c58d63ae..d2afb693 100644 --- a/src/java/org/mxchange/jjobs/converter/user/JobsUserConverter.java +++ b/src/java/org/mxchange/jjobs/converter/user/JobsUserConverter.java @@ -22,13 +22,11 @@ import javax.faces.context.FacesContext; import javax.faces.convert.Converter; import javax.faces.convert.ConverterException; import javax.faces.convert.FacesConverter; -import javax.inject.Inject; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import org.mxchange.jcoreeelogger.beans.local.logger.Log; import org.mxchange.jcoreeelogger.beans.local.logger.LoggerBeanLocal; -import org.mxchange.jjobs.beans.user.JobsUserWebSessionController; import org.mxchange.jusercore.exceptions.UserNotFoundException; import org.mxchange.jusercore.model.user.User; import org.mxchange.jusercore.model.user.UserSessionBeanRemote; @@ -130,4 +128,5 @@ public class JobsUserConverter implements Converter { // Return category id return String.valueOf(((User) value).getUserId()); } + } diff --git a/src/java/org/mxchange/localization/bundle_de_DE.properties b/src/java/org/mxchange/localization/bundle_de_DE.properties index 4d357d60..d850e8e6 100644 --- a/src/java/org/mxchange/localization/bundle_de_DE.properties +++ b/src/java/org/mxchange/localization/bundle_de_DE.properties @@ -287,7 +287,7 @@ ADMIN_PERSONAL_DATA_ENTER_EMAIL_ADDRESS=Email-Adresse (*2): ADMIN_USER_DATA_USER_NAME_NOTICE=*1: Der Benutzername darf nur einmal vorhanden sein, das System pr\u00fcft dies f\u00fcr Sie. ADMIN_USER_DATA_PASSWORD_ADD_NOTICE=Lassen Sie beide Passwortfelder leer und es wird ein Passwort per Zufall generiert. Das Passwort wird dem Benutzer nach Erstellung des Zugangs an die Email-Adresse gesendet. ADMIN_USER_DATA_EMAIL_ADDRESS_NOTICE=*2: Die Email-Adresse darf nur einmal vorhanden sein. -BUTTON_ADMIN_ADD_USER=Neuen Benutzer hinzuf\u00fcgen +BUTTON_ADMIN_ADD_USER=Neues Benutzeraccount hinzuf\u00fcgen ADMIN_MENU_COUNTRY_TITLE=L\u00e4nderdaten LINK_ADMIN_LIST_COUNTRIES=L\u00e4nder auflisten LINK_ADMIN_LIST_COUNTRIES_TITLE=Bestehende L\u00e4nderdaten auflisten, neue hinzuf\u00fcgen, \u00e4ndern und l\u00f6schen. @@ -455,7 +455,7 @@ CONTACT_IS_UNUSED=Nicht verlinkt CONTACT_IS_USER=Ist Benutzer ADMIN_CONTACT_USAGE=In Verwendung: ADMIN_LINK_SHOW_CONTACT_TITLE=Kontaktdaten anzeigen -ADMIN_MENU_CONTACT_TITLE=Manage contact data +ADMIN_MENU_CONTACT_TITLE=Kontaktdaten LINK_ADMIN_LIST_CONTACT=Kontaktdaten auflisten LINK_ADMIN_LIST_CONTACT_TITLE=Listet alle Kontaktdaten auf, egal wo her sie angelegt wurden. ERROR_PARAMETER_CELLPHONE_NUMBER_CONTACT_NOT_SET=Fehler: Parameter 'cellphoneNumber' und 'contact' nicht gesetzt. @@ -471,7 +471,6 @@ ADMIN_DELETE_CONTACT_TITLE=Kontaktdaten unwiederruflich l\u00f6schen BUTTON_ADMIN_DELETE_CONTACT=Kontaktdaten l\u00f6schen ADMIN_DELETE_CONTACT_NOTICE=Sie wollen Kontaktdaten l\u00f6schen. Diese k\u00f6nnten noch evtl. mit anderen Daten verkn\u00fcft sein, was zu Fehlern f\u00fchrt. Bitte l\u00f6schen Sie nur, wenn Sie sich absolut sicher sind, dass keine fremden Daten auf diesen Datensatz mehr verweisen. ADMIN_CONTACT_PERSONAL_DATA_MINIMUM_NOTICE=Bitte geben Sie mindestens Anrede, Vor- und Nachnamen ein. -ADMIN_MENU_CONTACT_TITLE=Manage contact data LINK_ADMIN_LIST_CONTACT=Kontaktdaten auflisten LINK_ADMIN_LIST_CONTACT_TITLE=Listet alle Kontaktdaten auf, egal wo her sie angelegt wurden. CONTACT_IS_USER=Ist Benutzer @@ -481,3 +480,4 @@ GUEST_AGREE_READ_TERMS_CONDITIONS_1=Ja, ich habe die GUEST_AGREE_READ_TERMS_CONDITIONS_2=gelesen und verstanden und nehme sie hiermit an. LINK_GUEST_TERMS_CONDITIONS=Allgemeine Gesch\u00e4ftsbestimmungen LINK_GUEST_PRIVACY_STATEMENTS=Datenschutzbestimmungen +ADMIN_ADD_OR_ENTER_CONTACT_DATA=... oder geben Sie die Kontaktdaten des Recruiters ein: diff --git a/src/java/org/mxchange/localization/bundle_en_US.properties b/src/java/org/mxchange/localization/bundle_en_US.properties index 49ed84f5..b5c8f78a 100644 --- a/src/java/org/mxchange/localization/bundle_en_US.properties +++ b/src/java/org/mxchange/localization/bundle_en_US.properties @@ -432,7 +432,7 @@ CONTACT_IS_UNUSED=Not linked CONTACT_IS_USER=Is a user ADMIN_CONTACT_USAGE=Usage: ADMIN_LINK_SHOW_CONTACT_TITLE=Show contact data -ADMIN_MENU_CONTACT_TITLE=Manage contact data +ADMIN_MENU_CONTACT_TITLE=Contact data LINK_ADMIN_LIST_CONTACT=List contact data LINK_ADMIN_LIST_CONTACT_TITLE=Lists all contact data regardless where they was created. ERROR_PARAMETER_CELLPHONE_NUMBER_CONTACT_NOT_SET=Error: Parameter 'cellphoneNumber' and 'contact' are not set. @@ -448,7 +448,6 @@ ADMIN_DELETE_CONTACT_TITLE=Delete contact data unreverseable BUTTON_ADMIN_DELETE_CONTACT=Delete contact data ADMIN_DELETE_CONTACT_NOTICE=You want to delete contact data. This data could be still linked with other data which could lead to errors. Please delete only, if you are sure that no foreign data links to this record. ADMIN_CONTACT_PERSONAL_DATA_MINIMUM_NOTICE=Please enter at least gender, first name and family name. -ADMIN_MENU_CONTACT_TITLE=Manage contact data LINK_ADMIN_LIST_CONTACT=List contact data LINK_ADMIN_LIST_CONTACT_TITLE=Lists all contact data regardless where they was created. CONTACT_IS_USER=Is a user @@ -458,3 +457,4 @@ GUEST_AGREE_READ_TERMS_CONDITIONS_1=Yes, I have read and understand the GUEST_AGREE_READ_TERMS_CONDITIONS_2=and I accept them with this. LINK_GUEST_TERMS_CONDITIONS=Terms & Conditions LINK_GUEST_PRIVACY_STATEMENTS=privacy statements +ADMIN_ADD_OR_ENTER_CONTACT_DATA=... or enter the recruiter's contact data: diff --git a/web/WEB-INF/faces-config.xml b/web/WEB-INF/faces-config.xml index a4ad461b..36e24c4a 100644 --- a/web/WEB-INF/faces-config.xml +++ b/web/WEB-INF/faces-config.xml @@ -71,6 +71,14 @@ admin_list_countries /admin/country/admin_country_list.xhtml + + admin_list_contact + /admin/contact/admin_contact_list.xhtml + + + admin_list_user + /admin/user/admin_user_list.xhtml + admin_list_mobile_provider /admin/mobile_provider/admin_mobile_provider_list.xhtml diff --git a/web/WEB-INF/templates/admin/admin_menu.tpl b/web/WEB-INF/templates/admin/admin_menu.tpl index 8f7fa3ff..d9baac8c 100644 --- a/web/WEB-INF/templates/admin/admin_menu.tpl +++ b/web/WEB-INF/templates/admin/admin_menu.tpl @@ -22,6 +22,14 @@

  • + + + + diff --git a/web/WEB-INF/templates/admin/contact/admin_form_contact_data.tpl b/web/WEB-INF/templates/admin/contact/admin_form_contact_data.tpl index b1c484b1..2f6259cf 100644 --- a/web/WEB-INF/templates/admin/contact/admin_form_contact_data.tpl +++ b/web/WEB-INF/templates/admin/contact/admin_form_contact_data.tpl @@ -29,9 +29,7 @@
    - - - +
    @@ -43,9 +41,7 @@
    - - - +
    diff --git a/web/resources/css/cssLayout.css b/web/resources/css/cssLayout.css index 703d40b3..2c80675e 100644 --- a/web/resources/css/cssLayout.css +++ b/web/resources/css/cssLayout.css @@ -211,15 +211,15 @@ ul.footer_nav li.footer_copyright { color: #00aa00; } -.user_status_confirmed { +.user_status_confirmed, .customer_status_confirmed { color: #00aa00; } -.user_status_unconfirmed { +.user_status_unconfirmed, .customer_status_unconfirmed { color: #00aaaa; } -.user_status_unconfirmed { +.user_status_locked, .customer_status_locked { color: #aa0000; } -- 2.39.5