]> git.mxchange.org Git - jjobs-war.git/commitdiff
Continued with recruiter
authorRoland Häder <roland@mxchange.org>
Tue, 3 May 2016 13:26:28 +0000 (15:26 +0200)
committerRoland Haeder <roland@mxchange.org>
Fri, 6 May 2016 20:37:35 +0000 (22:37 +0200)
- 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

Signed-off-by: Roland Häder <roland@mxchange.org>
19 files changed:
nbproject/faces-config.NavData
src/java/org/mxchange/jjobs/beans/email_address/JobsEmailChangeWebSessionController.java
src/java/org/mxchange/jjobs/beans/helper/JobsAdminWebRequestController.java
src/java/org/mxchange/jjobs/beans/helper/JobsAdminWebRequestHelper.java
src/java/org/mxchange/jjobs/beans/localization/JobsLocalizationSessionBean.java
src/java/org/mxchange/jjobs/beans/login/JobsUserLoginWebSessionBean.java
src/java/org/mxchange/jjobs/beans/login/JobsUserLoginWebSessionController.java
src/java/org/mxchange/jjobs/beans/mobileprovider/JobsMobileProviderWebRequestBean.java
src/java/org/mxchange/jjobs/beans/mobileprovider/JobsMobileProviderWebRequestController.java
src/java/org/mxchange/jjobs/beans/profile/JobsUserProfileWebRequestController.java
src/java/org/mxchange/jjobs/beans/profilemode/JobsProfileModeWebApplicationController.java
src/java/org/mxchange/jjobs/beans/user/JobsUserWebSessionBean.java
src/java/org/mxchange/jjobs/converter/user/JobsUserConverter.java
src/java/org/mxchange/localization/bundle_de_DE.properties
src/java/org/mxchange/localization/bundle_en_US.properties
web/WEB-INF/faces-config.xml
web/WEB-INF/templates/admin/admin_menu.tpl
web/WEB-INF/templates/admin/contact/admin_form_contact_data.tpl
web/resources/css/cssLayout.css

index 61be65f4929815292b6a05ce9985f6809c853c46..599d7838cbdb03e897833dffbf9551831d6213b1 100644 (file)
@@ -2,62 +2,62 @@
 <Scene Scope="Project" version="2">
     <Scope Scope="Faces Configuration Only"/>
     <Scope Scope="Project">
-        <Node id="admin/cellphone/admin_contact_cellphone_list.xhtml" x="150" y="1350" zoom="true"/>
-        <Node id="admin/contact/admin_contact_show.xhtml" x="150" y="1200" zoom="true"/>
-        <Node id="privacy.xhtml" x="900" y="600" zoom="true"/>
-        <Node id="login/login_change_password.xhtml" x="1400" y="600" zoom="true"/>
-        <Node id="admin/mobile_provider/admin_mobile_provider_show.xhtml" x="900" y="450" zoom="true"/>
-        <Node id="admin/user/admin_user_show.xhtml" x="150" y="900" zoom="true"/>
-        <Node id="admin/index.xhtml" x="650" y="750" zoom="true"/>
-        <Node id="user/resend_link.xhtml" x="400" y="450" zoom="true"/>
-        <Node id="user/index.xhtml" x="400" y="750" zoom="true"/>
-        <Node id="admin/admin_logout.xhtml" x="650" y="450" zoom="true"/>
-        <Node id="admin/user/admin_user_unlock.xhtml" x="900" y="300" zoom="true"/>
-        <Node id="index.xhtml" x="2150" y="150" zoom="true"/>
-        <Node id="user/register_done.xhtml" x="1150" y="450" zoom="true"/>
-        <Node id="*" x="1150" y="750" zoom="true"/>
-        <Node id="admin/admin_category_delete.xhtml" x="400" y="1200" zoom="true"/>
-        <Node id="user/login_error.xhtml" x="1150" y="300" zoom="true"/>
-        <Node id="admin/cellphone/admin_contact_cellphone_edit.xhtml" x="1400" y="750" zoom="true"/>
-        <Node id="user/login_index.xhtml" x="400" y="1350" zoom="true"/>
-        <Node id="user/show_addressbook_entries.xhtml" x="1150" y="600" zoom="true"/>
-        <Node id="user/lost_passwd.xhtml" x="900" y="900" zoom="true"/>
-        <Node id="user/login.xhtml" x="650" y="1200" zoom="true"/>
-        <Node id="login/login_contact_data_saved.xhtml" x="150" y="450" zoom="true"/>
-        <Node id="admin/country/admin_country_list.xhtml" x="650" y="600" zoom="true"/>
-        <Node id="login/login_edit_user_data.xhtml" x="400" y="1050" zoom="true"/>
-        <Node id="admin/cellphone/admin_contact_cellphone_unlink.xhtml" x="150" y="1500" zoom="true"/>
-        <Node id="admin/mobile_provider/admin_mobile_provider_delete.xhtml" x="1400" y="150" zoom="true"/>
-        <Node id="admin/mobile_provider/admin_mobile_provider_list.xhtml" x="2400" y="150" zoom="true"/>
-        <Node id="login/login_data_saved.xhtml" x="900" y="150" zoom="true"/>
-        <Node id="admin/user/admin_user_delete.xhtml" x="2150" y="300" zoom="true"/>
-        <Node id="admin/cellphone/admin_contact_cellphone_delete.xhtml" x="1650" y="600" zoom="true"/>
-        <Node id="exception.xhtml" x="2650" y="150" zoom="true"/>
-        <Node id="user/register.xhtml" x="150" y="600" zoom="true"/>
-        <Node id="login/login_index.xhtml" x="1150" y="150" zoom="true"/>
-        <Node id="login/login_add_addressbook.xhtml" x="150" y="1050" zoom="true"/>
-        <Node id="login/login_own_addressbooks.xhtml" x="1650" y="150" zoom="true"/>
-        <Node id="admin/user/admin_user_edit.xhtml" x="400" y="900" zoom="true"/>
-        <Node id="terms.xhtml" x="650" y="300" zoom="true"/>
-        <Node id="admin/contact/admin_contact_edit.xhtml" x="150" y="300" zoom="true"/>
-        <Node id="admin/contact/admin_contact_list.xhtml" x="900" y="750" zoom="true"/>
-        <Node id="admin/admin_user_add.xhtml" x="400" y="150" zoom="true"/>
-        <Node id="admin/user/admin_user_list.xhtml" x="400" y="300" zoom="true"/>
-        <Node id="admin/country/admin_country_delete.xhtml" x="1650" y="300" zoom="true"/>
-        <Node id="login/login_user_data_saved.xhtml" x="400" y="600" zoom="true"/>
-        <Node id="user/user_list.xhtml" x="1400" y="300" zoom="true"/>
-        <Node id="admin/country/admin_country_edit.xhtml" x="650" y="150" zoom="true"/>
-        <Node id="logout.xhtml" x="650" y="1050" zoom="true"/>
-        <Node id="admin/contact/admin_contact_delete.xhtml" x="150" y="750" zoom="true"/>
-        <Node id="user/user_profile.xhtml" x="1900" y="150" zoom="true"/>
-        <Node id="login/login_change_personal_data.xhtml" x="1150" y="900" zoom="true"/>
-        <Node id="user/show_addressbook.xhtml" x="150" y="150" zoom="true"/>
-        <Node id="imprint.xhtml" x="1900" y="300" zoom="true"/>
-        <Node id="admin/mobile_provider/admin_mobile_provider_edit.xhtml" x="1900" y="450" zoom="true"/>
-        <Node id="admin/cellphone/admin_contact_cellphone_show.xhtml" x="1400" y="450" zoom="true"/>
-        <Node id="guest/user/login.xhtml" x="1650" y="450" zoom="true"/>
-        <Node id="admin/admin_product_delete.xhtml" x="900" y="1050" zoom="true"/>
-        <Node id="login/login_change_email_address.xhtml" x="650" y="900" zoom="true"/>
+        <Node id="admin/cellphone/admin_contact_cellphone_list.xhtml" x="1150" y="750" zoom="true"/>
+        <Node id="admin/contact/admin_contact_show.xhtml" x="1650" y="300" zoom="true"/>
+        <Node id="login/login_change_password.xhtml" x="150" y="900" zoom="true"/>
+        <Node id="privacy.xhtml" x="1650" y="600" zoom="true"/>
+        <Node id="admin/mobile_provider/admin_mobile_provider_show.xhtml" x="1650" y="150" zoom="true"/>
+        <Node id="admin/user/admin_user_show.xhtml" x="900" y="1050" zoom="true"/>
+        <Node id="admin/index.xhtml" x="1900" y="450" zoom="true"/>
+        <Node id="user/resend_link.xhtml" x="1400" y="750" zoom="true"/>
+        <Node id="user/index.xhtml" x="650" y="1050" zoom="true"/>
+        <Node id="admin/admin_logout.xhtml" x="1150" y="150" zoom="true"/>
+        <Node id="admin/user/admin_user_unlock.xhtml" x="1400" y="600" zoom="true"/>
+        <Node id="index.xhtml" x="650" y="1200" zoom="true"/>
+        <Node id="user/register_done.xhtml" x="1400" y="150" zoom="true"/>
+        <Node id="admin/admin_category_delete.xhtml" x="650" y="750" zoom="true"/>
+        <Node id="*" x="2400" y="150" zoom="true"/>
+        <Node id="user/login_error.xhtml" x="150" y="1500" zoom="true"/>
+        <Node id="user/login_index.xhtml" x="400" y="1200" zoom="true"/>
+        <Node id="admin/cellphone/admin_contact_cellphone_edit.xhtml" x="150" y="1350" zoom="true"/>
+        <Node id="user/show_addressbook_entries.xhtml" x="150" y="300" zoom="true"/>
+        <Node id="user/lost_passwd.xhtml" x="650" y="300" zoom="true"/>
+        <Node id="user/login.xhtml" x="150" y="1050" zoom="true"/>
+        <Node id="admin/cellphone/admin_contact_cellphone_unlink.xhtml" x="900" y="300" zoom="true"/>
+        <Node id="login/login_contact_data_saved.xhtml" x="1150" y="300" zoom="true"/>
+        <Node id="admin/country/admin_country_list.xhtml" x="900" y="900" zoom="true"/>
+        <Node id="login/login_edit_user_data.xhtml" x="2650" y="150" zoom="true"/>
+        <Node id="admin/mobile_provider/admin_mobile_provider_delete.xhtml" x="1150" y="600" zoom="true"/>
+        <Node id="admin/mobile_provider/admin_mobile_provider_list.xhtml" x="650" y="450" zoom="true"/>
+        <Node id="admin/cellphone/admin_contact_cellphone_delete.xhtml" x="400" y="750" zoom="true"/>
+        <Node id="login/login_data_saved.xhtml" x="1400" y="300" zoom="true"/>
+        <Node id="admin/user/admin_user_delete.xhtml" x="400" y="1050" zoom="true"/>
+        <Node id="exception.xhtml" x="150" y="1200" zoom="true"/>
+        <Node id="user/register.xhtml" x="900" y="450" zoom="true"/>
+        <Node id="login/login_index.xhtml" x="150" y="150" zoom="true"/>
+        <Node id="login/login_add_addressbook.xhtml" x="1150" y="450" zoom="true"/>
+        <Node id="login/login_own_addressbooks.xhtml" x="1900" y="150" zoom="true"/>
+        <Node id="admin/user/admin_user_edit.xhtml" x="900" y="750" zoom="true"/>
+        <Node id="terms.xhtml" x="150" y="750" zoom="true"/>
+        <Node id="admin/contact/admin_contact_edit.xhtml" x="1900" y="300" zoom="true"/>
+        <Node id="admin/contact/admin_contact_list.xhtml" x="1650" y="450" zoom="true"/>
+        <Node id="admin/user/admin_user_list.xhtml" x="650" y="900" zoom="true"/>
+        <Node id="admin/admin_user_add.xhtml" x="1150" y="900" zoom="true"/>
+        <Node id="admin/country/admin_country_delete.xhtml" x="400" y="450" zoom="true"/>
+        <Node id="login/login_user_data_saved.xhtml" x="900" y="600" zoom="true"/>
+        <Node id="user/user_list.xhtml" x="1400" y="450" zoom="true"/>
+        <Node id="admin/country/admin_country_edit.xhtml" x="400" y="300" zoom="true"/>
+        <Node id="logout.xhtml" x="400" y="900" zoom="true"/>
+        <Node id="admin/contact/admin_contact_delete.xhtml" x="400" y="150" zoom="true"/>
+        <Node id="user/user_profile.xhtml" x="150" y="450" zoom="true"/>
+        <Node id="login/login_change_personal_data.xhtml" x="400" y="1350" zoom="true"/>
+        <Node id="user/show_addressbook.xhtml" x="900" y="150" zoom="true"/>
+        <Node id="imprint.xhtml" x="2150" y="300" zoom="true"/>
+        <Node id="admin/mobile_provider/admin_mobile_provider_edit.xhtml" x="400" y="600" zoom="true"/>
+        <Node id="admin/cellphone/admin_contact_cellphone_show.xhtml" x="150" y="600" zoom="true"/>
+        <Node id="guest/user/login.xhtml" x="650" y="150" zoom="true"/>
+        <Node id="admin/admin_product_delete.xhtml" x="2150" y="150" zoom="true"/>
+        <Node id="login/login_change_email_address.xhtml" x="650" y="600" zoom="true"/>
     </Scope>
     <Scope Scope="All Faces Configurations"/>
 </Scene>
index 8f25eb4dce985cc7dde803706a24d2034cc9f226..617adf92d738291ecbea75666b4799d349e9f360 100644 (file)
@@ -35,9 +35,9 @@ public interface JobsEmailChangeWebSessionController extends Serializable {
        /**
         * Setter for email address 1 (changing)
         * <p>
-        * @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)
         * <p>
-        * @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
index a5b7985f1872520c8d86639b4e0cf337b098fa42..0249d9bb59fdf73d1e9d8472175b81f5d8cb6f0d 100644 (file)
@@ -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
index 50c12e66f4248ac5005c39ab3a355f9a8169f62a..697e366e8ec7b362c8c6591db0af854685e98977 100644 (file)
@@ -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
index 62d99a8b650fb982e3dfc8583d8be60c08bf8e78..1fcc2bbd5dd3e55f141e895c76a673618018812f 100644 (file)
@@ -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
        }
 
 }
index d9281d9965fe4b0a3e1de66d40467254af5545e0..43bd92545e196b2d691e9fc936c42c55a9af1104 100644 (file)
@@ -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;
        }
+
 }
index 7815f2f4e775fab1c6e2d596071b48bf0b4a342d..a173490909d65fd828b2d2b38013750de16f28f8 100644 (file)
@@ -103,4 +103,5 @@ public interface JobsUserLoginWebSessionController extends Serializable {
         * @return If current password matches
         */
        boolean ifCurrentPasswordMatches ();
+
 }
index e217b30afc96740351ace2b5c82ea0bc34697023..147fac45e304b265c6789b46757eb2b62b279a78 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2016 Roland Haeder<roland@mxchange.org>
+ * 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
index e774dad547606ca93afe20c5b09c47d88cf88ae1..77d1d59a49ef7a0e62912f2834666b6daa685da2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2016 Roland Haeder<roland@mxchange.org>
+ * 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
index 6789f81ee8f3f4691d9f83b381c1fa07b7551535..339e20402c88a0107d52b4f3b8bdff856b226e9e 100644 (file)
@@ -43,4 +43,5 @@ public interface JobsUserProfileWebRequestController extends Serializable {
         * @return Whether the user's profile is visible
         */
        boolean isProfileLinkVisibleByUser (final User user);
+
 }
index 38bc58a1ff37718b8e8f9bd425a08b3b8d828d27..e52e10e428c6935d22d9f2f3f1e7873eef212e9e 100644 (file)
@@ -32,4 +32,5 @@ public interface JobsProfileModeWebApplicationController extends Serializable {
         * @return All genders as array
         */
        ProfileMode[] getAllProfileModes ();
+
 }
index 76d291dcb93c65ba3aa7c5ed019533132dbdea95..fdfb13807fee89c64c9c837c0d35fe69789fabfa 100644 (file)
@@ -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<Contact> 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 {
index c58d63ae6061e9e942051bb10ea6de92ea43bd24..d2afb6937f0423510531df804c6712a0d6083eb3 100644 (file)
@@ -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());
        }
+
 }
index 4d357d60446dfef981f6eb42bbd8cd78ef15586a..d850e8e6046ac2ec40632215a8ea151b01194868 100644 (file)
@@ -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:
index 49ed84f551db41f0ca4e2c8352e76c1c310a1ae6..b5c8f78a7fc529bff16eb2255ceff4c4898384c5 100644 (file)
@@ -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:
index a4ad461b9dc86c1cd11b688995026ca7f85ed5a2..36e24c4a3de6f5c028878bfe1ded85e15808f5a3 100644 (file)
                        <from-outcome>admin_list_countries</from-outcome>
                        <to-view-id>/admin/country/admin_country_list.xhtml</to-view-id>
                </navigation-case>
+               <navigation-case>
+                       <from-outcome>admin_list_contact</from-outcome>
+                       <to-view-id>/admin/contact/admin_contact_list.xhtml</to-view-id>
+               </navigation-case>
+               <navigation-case>
+                       <from-outcome>admin_list_user</from-outcome>
+                       <to-view-id>/admin/user/admin_user_list.xhtml</to-view-id>
+               </navigation-case>
                <navigation-case>
                        <from-outcome>admin_list_mobile_provider</from-outcome>
                        <to-view-id>/admin/mobile_provider/admin_mobile_provider_list.xhtml</to-view-id>
index 8f7fa3ffebcffcd4ef418e5f30706b301f40cf1d..d9baac8c444ea34b3131c3b7ab7a116c399f4e11 100644 (file)
                                <li><h:link title="#{msg.LINK_ADMIN_LIST_USER_TITLE}" outcome="admin_list_user" value="#{msg.LINK_ADMIN_LIST_USER}" /></li>
                        </ul>
 
+                       <div class="menu_header">
+                               #{msg.ADMIN_MENU_CONTACT_TITLE}
+                       </div>
+
+                       <ul>
+                               <li><h:link title="#{msg.LINK_ADMIN_LIST_CONTACT_TITLE}" outcome="admin_list_contact" value="#{msg.LINK_ADMIN_LIST_CONTACT}" /></li>
+                       </ul>
+
                        <div class="menu_header">
                                #{msg.ADMIN_MENU_COUNTRY_TITLE}
                        </div>
index b1c484b1ee88e203fafccdde264b4f2f04a5a694..2f6259cf553991159bdd0371195f72a5c321feb2 100644 (file)
@@ -29,9 +29,7 @@
                                </div>
 
                                <div class="table_right">
-                                       <h:inputText class="input" id="firstName" size="10" maxlength="255" value="#{adminContactController.firstName}" required="true">
-                                               <f:validator for="firstName" validatorId="NameValidator" />
-                                       </h:inputText>
+                                       <h:inputText class="input" id="firstName" size="10" maxlength="255" value="#{adminContactController.firstName}" />
                                </div>
 
                                <div class="clear"></div>
@@ -43,9 +41,7 @@
                                </div>
 
                                <div class="table_right">
-                                       <h:inputText class="input" id="familyName" size="10" maxlength="255" value="#{adminContactController.familyName}" required="true">
-                                               <f:validator for="familyName" validatorId="NameValidator" />
-                                       </h:inputText>
+                                       <h:inputText class="input" id="familyName" size="10" maxlength="255" value="#{adminContactController.familyName}" />
                                </div>
 
                                <div class="clear"></div>
index 703d40b3340bd36f4ba214c5f1681dfca6fb2615..2c80675ed4c2d1303c4a0944ef256f9780667fca 100644 (file)
@@ -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;
 }