]> git.mxchange.org Git - jfinancials-war.git/commitdiff
Please cherry-pick:
authorRoland Häder <roland@mxchange.org>
Sat, 7 Oct 2017 22:41:06 +0000 (00:41 +0200)
committerRoland Häder <roland@mxchange.org>
Sat, 7 Oct 2017 22:46:50 +0000 (00:46 +0200)
- added backing bean for departments and opening times
- added converter for DayOfTheWeek enumeration
- added required getter for above enum in dataController
- added administrative list views and "add-form" template for above new beans
- added required navigation rules (not opening times so far)
- added missing i18n strings
- renamed some i18n strings which are now more clear
- added custom JSF tags for above new beans (show/edit/delete)
- removed no longer needed CSS classes/ids as this is now done by panel grids
- removed divider-right CSS class
- added more ui-noborder where required (no ugly over-bordering ... ;-)

Signed-off-by: Roland Häder <roland@mxchange.org>
66 files changed:
src/java/org/mxchange/jfinancials/beans/business/department/FinancialsAdminDepartmentWebRequestBean.java [new file with mode: 0644]
src/java/org/mxchange/jfinancials/beans/business/department/FinancialsAdminDepartmentWebRequestController.java [new file with mode: 0644]
src/java/org/mxchange/jfinancials/beans/business/department/FinancialsDepartmentWebRequestBean.java [new file with mode: 0644]
src/java/org/mxchange/jfinancials/beans/business/department/FinancialsDepartmentWebRequestController.java [new file with mode: 0644]
src/java/org/mxchange/jfinancials/beans/business/opening_time/FinancialsAdminOpeningTimeWebRequestBean.java [new file with mode: 0644]
src/java/org/mxchange/jfinancials/beans/business/opening_time/FinancialsAdminOpeningTimeWebRequestController.java [new file with mode: 0644]
src/java/org/mxchange/jfinancials/beans/business/opening_time/FinancialsOpeningTimeWebRequestBean.java [new file with mode: 0644]
src/java/org/mxchange/jfinancials/beans/business/opening_time/FinancialsOpeningTimeWebRequestController.java [new file with mode: 0644]
src/java/org/mxchange/jfinancials/beans/data/FinancialsDataWebApplicationBean.java
src/java/org/mxchange/jfinancials/converter/business/department/FinancialsCompanyDepartmentConverter.java
src/java/org/mxchange/jfinancials/converter/dayofweek/FinancialsDayOfTheWeekConverter.java [new file with mode: 0644]
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/links.jsf.taglib.xml
web/WEB-INF/resources/tags/admin/links/mini/department/admin_department_links.tpl [new file with mode: 0644]
web/WEB-INF/resources/tags/admin/links/mini/opening_time/admin_opening_time_links.tpl [new file with mode: 0644]
web/WEB-INF/resources/tags/input/panel_grid/fax_input_panel_grid.tpl
web/WEB-INF/resources/tags/input/panel_grid/landline_input_panel_grid.tpl
web/WEB-INF/resources/tags/table_rows/fax_input_table_row.tpl
web/WEB-INF/resources/tags/table_rows/landline_input_table_row.tpl
web/WEB-INF/templates/admin/admin_footer.tpl
web/WEB-INF/templates/admin/branch_office/admin_form_branch_office_data.tpl
web/WEB-INF/templates/admin/contact/admin_show_contact_data.tpl
web/WEB-INF/templates/admin/department/admin_form_department_data.tpl [new file with mode: 0644]
web/WEB-INF/templates/admin/employee/admin_form_employee_data.tpl
web/WEB-INF/templates/admin/fax/admin_form_add_contact_fax.tpl
web/WEB-INF/templates/admin/landline/admin_form_add_contact_landline.tpl
web/WEB-INF/templates/admin/mobile/admin_form_add_contact_mobile.tpl
web/WEB-INF/templates/admin/opening_time/admin_form_opening_time.tpl [new file with mode: 0644]
web/WEB-INF/templates/contact/form_contact_data.tpl
web/WEB-INF/templates/guest/user/guest_login_form.tpl
web/WEB-INF/templates/guest/user/register/guest_form_register_page1.tpl
web/WEB-INF/templates/guest/user/register/guest_form_register_page2.tpl
web/WEB-INF/templates/guest/user/register/guest_form_register_single.tpl
web/admin/basic_company_data/admin_basic_company_data_list.xhtml
web/admin/branch_office/admin_branch_office_list.xhtml
web/admin/contact/admin_contact_delete.xhtml
web/admin/contact/admin_contact_edit.xhtml
web/admin/contact/admin_contact_export.xhtml
web/admin/contact/admin_contact_list.xhtml
web/admin/country/admin_country_list.xhtml
web/admin/department/admin_department_list.xhtml [new file with mode: 0644]
web/admin/employee/admin_employee_list.xhtml
web/admin/fax/admin_fax_edit.xhtml
web/admin/fax/admin_fax_list.xhtml
web/admin/landline/admin_landline_edit.xhtml
web/admin/landline/admin_landline_list.xhtml
web/admin/mobile/admin_contact_mobile_list.xhtml
web/admin/mobile/admin_mobile_edit.xhtml
web/admin/mobile/admin_mobile_list.xhtml
web/admin/mobile_provider/admin_mobile_provider_list.xhtml
web/admin/opening_time/admin_opening_time_list.xhtml [new file with mode: 0644]
web/admin/user/admin_user_delete.xhtml
web/admin/user/admin_user_edit.xhtml
web/admin/user/admin_user_export.xhtml
web/admin/user/admin_user_list.xhtml
web/admin/user/admin_user_lock.xhtml
web/admin/user/admin_user_resend_confirmation_link.xhtml
web/admin/user/admin_user_unlock.xhtml
web/guest/user/user_lost_password.xhtml
web/guest/user/user_resend_link.xhtml
web/resources/css/custom.css
web/user/login_user_change_email_address.xhtml
web/user/login_user_change_password.xhtml
web/user/login_user_change_personal_data.xhtml

diff --git a/src/java/org/mxchange/jfinancials/beans/business/department/FinancialsAdminDepartmentWebRequestBean.java b/src/java/org/mxchange/jfinancials/beans/business/department/FinancialsAdminDepartmentWebRequestBean.java
new file mode 100644 (file)
index 0000000..a71d89b
--- /dev/null
@@ -0,0 +1,307 @@
+/*
+ * Copyright (C) 2017 Roland Häder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.jfinancials.beans.business.department;
+
+import java.util.List;
+import javax.ejb.EJB;
+import javax.enterprise.context.RequestScoped;
+import javax.enterprise.event.Event;
+import javax.enterprise.inject.Any;
+import javax.inject.Inject;
+import javax.inject.Named;
+import org.mxchange.jcontactsbusiness.events.department.added.DepartmentAddedEvent;
+import org.mxchange.jcontactsbusiness.events.department.added.ObservableDepartmentAddedEvent;
+import org.mxchange.jcontactsbusiness.exceptions.department.DepartmentAlreadyAddedException;
+import org.mxchange.jcontactsbusiness.model.basicdata.BusinessBasicData;
+import org.mxchange.jcontactsbusiness.model.branchoffice.BranchOffice;
+import org.mxchange.jcontactsbusiness.model.department.AdminDepartmentSessionBeanRemote;
+import org.mxchange.jcontactsbusiness.model.department.CompanyDepartment;
+import org.mxchange.jcontactsbusiness.model.department.Department;
+import org.mxchange.jcontactsbusiness.model.department.Departments;
+import org.mxchange.jcontactsbusiness.model.employee.Employee;
+import org.mxchange.jcontactsbusiness.model.headquarters.HeadquartersData;
+import org.mxchange.jfinancials.beans.BaseFinancialsBean;
+import org.mxchange.jusercore.model.user.User;
+
+/**
+ * An administrative bean for departments
+ * <p>
+ * @author Roland Häder<roland@mxchange.org>
+ */
+@Named ("adminDepartmentController")
+@RequestScoped
+public class FinancialsAdminDepartmentWebRequestBean extends BaseFinancialsBean implements FinancialsAdminDepartmentWebRequestController {
+
+       /**
+        * Serial number
+        */
+       private static final long serialVersionUID = 5_028_697_360_462L;
+
+       /**
+        * EJB for administrative purposes
+        */
+       @EJB (lookup = "java:global/jfinancials-ejb/adminDepartment!org.mxchange.jcontactsbusiness.model.department.AdminDepartmentSessionBeanRemote")
+       private AdminDepartmentSessionBeanRemote adminDepartmentBean;
+
+       /**
+        * An event being fired when a department has been successfully added
+        */
+       @Inject
+       @Any
+       private Event<ObservableDepartmentAddedEvent> departmentAddedEvent;
+
+       /**
+        * Assigned branch office (if apply-able)
+        */
+       private BranchOffice departmentBranchOffice;
+
+       /**
+        * Assigned company for this department
+        */
+       private BusinessBasicData departmentCompany;
+
+       /**
+        * A general department controller (backing bean)
+        */
+       @Inject
+       private FinancialsDepartmentWebRequestController departmentController;
+
+       /**
+        * Assigned headquarters (if apply-able)
+        */
+       private HeadquartersData departmentHeadquarters;
+
+       /**
+        * Lead person of this department
+        */
+       private Employee departmentLead;
+
+       /**
+        * Department name
+        */
+       private String departmentName;
+
+       /**
+        * Owning user instance (which this department is assigned to)
+        */
+       private User departmentUserOwner;
+
+       /**
+        * Default constructor
+        */
+       public FinancialsAdminDepartmentWebRequestBean () {
+               // Call super constructor
+               super();
+       }
+
+       /**
+        * Adds department with all data from this backing bean. First this action
+        * method will validate if the department's address is already registered
+        * and if found, it will output a proper faces message.
+        * <p>
+        * @return Redirect outcome
+        */
+       public String addDepartment () {
+               // Get instance
+               final Department department = this.createDepartment();
+
+               // Is the department not created yet?
+               if (this.isDepartmentCreatedByRequiredData(department)) {
+                       // Then show proper faces message
+                       this.showFacesMessage("form-admin-add-department:branchStreet", "ADMIN_BRANCH_OFFICE_ALREADY_CREATED"); //NOI18N
+                       return ""; //NOI18N
+               }
+
+               // Delcare updated instance
+               final Department updatedDepartment;
+
+               try {
+                       // Try to call EJB
+                       updatedDepartment = this.adminDepartmentBean.addDepartment(department);
+               } catch (final DepartmentAlreadyAddedException ex) {
+                       // Output message
+                       this.showFacesMessage("form-admin-add-department:departmentName", "ADMIN_DEPARTMENT_ALREADY_CREATED"); //NOI18N
+                       return ""; //NOI18N
+               }
+
+               // Fire event
+               this.departmentAddedEvent.fire(new DepartmentAddedEvent(updatedDepartment));
+
+               // Redirect to list
+               return "admin_list_department"; //NOI18N
+       }
+
+       /**
+        * Getter for assigned branch office
+        * <p>
+        * @return Branch office
+        */
+       public BranchOffice getDepartmentBranchOffice () {
+               return this.departmentBranchOffice;
+       }
+
+       /**
+        * Setter for assigned branch office
+        * <p>
+        * @param departmentBranchOffice Branch office
+        */
+       public void setDepartmentBranchOffice (final BranchOffice departmentBranchOffice) {
+               this.departmentBranchOffice = departmentBranchOffice;
+       }
+
+       /**
+        * Getter for basic company data
+        * <p>
+        * @return Basic company data
+        */
+       public BusinessBasicData getDepartmentCompany () {
+               return this.departmentCompany;
+       }
+
+       /**
+        * Setter for basic company data
+        * <p>
+        * @param departmentCompany Basic company data
+        */
+       public void setDepartmentCompany (final BusinessBasicData departmentCompany) {
+               this.departmentCompany = departmentCompany;
+       }
+
+       /**
+        * Getter for assigned headquarters data
+        * <p>
+        * @return Headquarters data
+        */
+       public HeadquartersData getDepartmentHeadquarters () {
+               return this.departmentHeadquarters;
+       }
+
+       /**
+        * Setter for assigned headquarters data
+        * <p>
+        * @param departmentHeadquarters Headquarters data
+        */
+       public void setDepartmentHeadquarters (final HeadquartersData departmentHeadquarters) {
+               this.departmentHeadquarters = departmentHeadquarters;
+       }
+
+       /**
+        * Getter for department contact person
+        * <p>
+        * @return Department contact person
+        */
+       public Employee getDepartmentLead () {
+               return this.departmentLead;
+       }
+
+       /**
+        * Setter for department contact person
+        * <p>
+        * @param departmentLead Department contact person
+        */
+       public void setDepartmentLead (final Employee departmentLead) {
+               this.departmentLead = departmentLead;
+       }
+
+       /**
+        * Getter for department name
+        * <p>
+        * @return Department name
+        */
+       public String getDepartmentName () {
+               return this.departmentName;
+       }
+
+       /**
+        * Setter for department name
+        * <p>
+        * @param departmentName Department name
+        */
+       public void setDepartmentName (final String departmentName) {
+               this.departmentName = departmentName;
+       }
+
+       /**
+        * Getter for owning user instance
+        * <p>
+        * @return Owning user instance
+        */
+       public User getDepartmentUserOwner () {
+               return this.departmentUserOwner;
+       }
+
+       /**
+        * Setter for owning user instance
+        * <p>
+        * @param departmentUserOwner Owning user instance
+        */
+       public void setDepartmentUserOwner (final User departmentUserOwner) {
+               this.departmentUserOwner = departmentUserOwner;
+       }
+
+       /**
+        * Prepares an instance of a Department object (entity) with all data from
+        * this bean. If a complete fax number or land-line number was provided, it
+        * will be set in the instance as well.
+        * <p>
+        * @return An instance of a Department class (entity)
+        */
+       private Department createDepartment () {
+               // Create new department instance
+               final Department department = new CompanyDepartment(this.getDepartmentCompany(), this.getDepartmentName());
+
+               // Add all optional fields
+               department.setDepartmentHeadquarters(this.getDepartmentHeadquarters());
+               department.setDepartmentBranchOffice(this.getDepartmentBranchOffice());
+               department.setDepartmentLead(this.getDepartmentLead());
+               department.setDepartmentUserOwner(this.getDepartmentUserOwner());
+
+               // Return fully prepared instance
+               return department;
+       }
+
+       /**
+        * Checks whether the given department is already found in local cache.
+        * Please note that this method fully relies on the cache, so you must
+        * always fire proper events that add/update/delete entries in cache.
+        * <p>
+        * @param department Department to check it's address
+        * <p>
+        * @return Whether the address has been found
+        */
+       private boolean isDepartmentCreatedByRequiredData (final Department department) {
+               // Get full list from other bean
+               final List<Department> departments = this.departmentController.allDepartments();
+
+               // Default is not found
+               boolean isFound = false;
+
+               // Now check each entry
+               for (final Department dep : departments) {
+                       // Is same address?
+                       if (Departments.isSameDepartment(dep, department)) {
+                               // Found one
+                               isFound = true;
+                               break;
+                       }
+               }
+
+               // Return flag
+               return isFound;
+       }
+
+}
diff --git a/src/java/org/mxchange/jfinancials/beans/business/department/FinancialsAdminDepartmentWebRequestController.java b/src/java/org/mxchange/jfinancials/beans/business/department/FinancialsAdminDepartmentWebRequestController.java
new file mode 100644 (file)
index 0000000..f960f39
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2017 Roland Häder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.jfinancials.beans.business.department;
+
+import java.io.Serializable;
+
+/**
+ * An interface for administrative branch office controller
+ * <p>
+ * @author Roland Häder<roland@mxchange.org>
+ */
+public interface FinancialsAdminDepartmentWebRequestController extends Serializable {
+
+}
diff --git a/src/java/org/mxchange/jfinancials/beans/business/department/FinancialsDepartmentWebRequestBean.java b/src/java/org/mxchange/jfinancials/beans/business/department/FinancialsDepartmentWebRequestBean.java
new file mode 100644 (file)
index 0000000..61ca5a7
--- /dev/null
@@ -0,0 +1,186 @@
+/*
+ * Copyright (C) 2017 Roland Häder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.jfinancials.beans.business.department;
+
+import fish.payara.cdi.jsr107.impl.NamedCache;
+import java.text.MessageFormat;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import javax.annotation.PostConstruct;
+import javax.cache.Cache;
+import javax.ejb.EJB;
+import javax.enterprise.context.RequestScoped;
+import javax.enterprise.event.Observes;
+import javax.inject.Inject;
+import javax.inject.Named;
+import org.mxchange.jcontactsbusiness.events.department.added.ObservableDepartmentAddedEvent;
+import org.mxchange.jcontactsbusiness.model.department.Department;
+import org.mxchange.jcontactsbusiness.model.department.DepartmentSessionBeanRemote;
+import org.mxchange.jfinancials.beans.BaseFinancialsBean;
+
+/**
+ * A general bean for departments
+ * <p>
+ * @author Roland Häder<roland@mxchange.org>
+ */
+@Named ("departmentController")
+@RequestScoped
+public class FinancialsDepartmentWebRequestBean extends BaseFinancialsBean implements FinancialsDepartmentWebRequestController {
+
+       /**
+        * Serial number
+        */
+       private static final long serialVersionUID = 5_028_697_360_461L;
+
+       /**
+        * A list of all departments
+        */
+       private final List<Department> allDepartments;
+
+       /**
+        * EJB for administrative purposes
+        */
+       @EJB (lookup = "java:global/jfinancials-ejb/department!org.mxchange.jcontactsbusiness.model.department.DepartmentSessionBeanRemote")
+       private DepartmentSessionBeanRemote departmentBean;
+
+       /**
+        * A list of all departments (globally)
+        */
+       @Inject
+       @NamedCache (cacheName = "departmentCache")
+       private Cache<Long, Department> departmentCache;
+
+       /**
+        * A list of filtered departments
+        */
+       private List<Department> filteredDepartments;
+
+       /**
+        * Default constructor
+        */
+       public FinancialsDepartmentWebRequestBean () {
+               // Call super constructor
+               super();
+
+               // Init list
+               this.allDepartments = new LinkedList<>();
+       }
+
+       /**
+        * Observes events being fired when a department has been added.
+        * <p>
+        * @param event Event being fired
+        * <p>
+        * @throws NullPointerException If the parameter or it's carried instance is
+        * null
+        * @throws IllegalArgumentException If the branchId is zero or lower
+        */
+       public void afterDepartmentAddedEvent (@Observes final ObservableDepartmentAddedEvent event) {
+               // Validate parameter
+               if (null == event) {
+                       // Throw NPE
+                       throw new NullPointerException("event is null"); //NOI18N
+               } else if (event.getDepartment() == null) {
+                       // Throw NPE again
+                       throw new NullPointerException("event.department is null"); //NOI18N
+               } else if (event.getDepartment().getDepartmentId() == null) {
+                       // Throw it again
+                       throw new NullPointerException("event.department.branchId is null"); //NOI18N
+               } else if (event.getDepartment().getDepartmentId() < 1) {
+                       // Throw IAE
+                       throw new IllegalArgumentException(MessageFormat.format("event.department.branchId={0} is not valid", event.getDepartment().getDepartmentId())); //NOI18N
+               }
+
+               // Add instance to cache
+               this.departmentCache.put(event.getDepartment().getDepartmentId(), event.getDepartment());
+               this.allDepartments.add(event.getDepartment());
+       }
+
+       @Override
+       @SuppressWarnings ("ReturnOfCollectionOrArrayField")
+       public List<Department> allDepartments () {
+               return this.allDepartments;
+       }
+
+       /**
+        * Getter for a list of filtered departments
+        * <p>
+        * @return Filtered departments
+        */
+       @SuppressWarnings ("ReturnOfCollectionOrArrayField")
+       public List<Department> getFilteredDepartments () {
+               return this.filteredDepartments;
+       }
+
+       /**
+        * Setter for a list of filtered departments
+        * <p>
+        * @param filteredDepartments Filtered departments
+        */
+       @SuppressWarnings ("AssignmentToCollectionOrArrayFieldFromParameter")
+       public void setFilteredDepartments (final List<Department> filteredDepartments) {
+               this.filteredDepartments = filteredDepartments;
+       }
+
+       /**
+        * Initializer method
+        */
+       @PostConstruct
+       public void initializeList () {
+               // Is cache there?
+               if (!this.departmentCache.iterator().hasNext()) {
+                       // Get whole list
+                       final List<Department> list = this.departmentBean.allDepartments();
+
+                       // Add all
+                       for (final Iterator<Department> iterator = list.iterator(); iterator.hasNext();) {
+                               // Get next element
+                               final Department next = iterator.next();
+
+                               // Add it to cache
+                               this.departmentCache.put(next.getDepartmentId(), next);
+                       }
+               }
+
+               // Is the list empty, but filled cache?
+               if (this.allDepartments.isEmpty() && this.departmentCache.iterator().hasNext()) {
+                       // Get iterator
+                       final Iterator<Cache.Entry<Long, Department>> iterator = this.departmentCache.iterator();
+
+                       // Build up list
+                       while (iterator.hasNext()) {
+                               // GEt next element
+                               final Cache.Entry<Long, Department> next = iterator.next();
+
+                               // Add to list
+                               this.allDepartments.add(next.getValue());
+                       }
+
+                       // Sort list
+                       this.allDepartments.sort(new Comparator<Department>() {
+                               @Override
+                               public int compare (final Department o1, final Department o2) {
+                                       return o1.getDepartmentId() > o2.getDepartmentId() ? 1 : o1.getDepartmentId() < o2.getDepartmentId() ? -1 : 0;
+                               }
+                       }
+                       );
+               }
+       }
+
+}
diff --git a/src/java/org/mxchange/jfinancials/beans/business/department/FinancialsDepartmentWebRequestController.java b/src/java/org/mxchange/jfinancials/beans/business/department/FinancialsDepartmentWebRequestController.java
new file mode 100644 (file)
index 0000000..8ff2f6a
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2017 Roland Häder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.jfinancials.beans.business.department;
+
+import java.io.Serializable;
+import java.util.List;
+import org.mxchange.jcontactsbusiness.model.department.Department;
+
+/**
+ * An interface for general department controller
+ * <p>
+ * @author Roland Häder<roland@mxchange.org>
+ */
+public interface FinancialsDepartmentWebRequestController extends Serializable {
+
+       /**
+        * Returns a list of all departments
+        * <p>
+        * @return A list of all departments
+        */
+       List<Department> allDepartments ();
+
+}
diff --git a/src/java/org/mxchange/jfinancials/beans/business/opening_time/FinancialsAdminOpeningTimeWebRequestBean.java b/src/java/org/mxchange/jfinancials/beans/business/opening_time/FinancialsAdminOpeningTimeWebRequestBean.java
new file mode 100644 (file)
index 0000000..85103d1
--- /dev/null
@@ -0,0 +1,201 @@
+/*
+ * Copyright (C) 2017 Roland Häder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.jfinancials.beans.business.opening_time;
+
+import java.util.Date;
+import javax.ejb.EJB;
+import javax.enterprise.context.RequestScoped;
+import javax.enterprise.event.Event;
+import javax.enterprise.inject.Any;
+import javax.inject.Inject;
+import javax.inject.Named;
+import org.mxchange.jcontactsbusiness.events.opening_time.added.ObservableOpeningTimeAddedEvent;
+import org.mxchange.jcontactsbusiness.events.opening_time.added.OpeningTimeAddedEvent;
+import org.mxchange.jcontactsbusiness.model.opening_time.AdminOpeningTimeSessionBeanRemote;
+import org.mxchange.jcontactsbusiness.model.opening_time.BusinessOpeningTime;
+import org.mxchange.jcontactsbusiness.model.opening_time.OpeningTime;
+import org.mxchange.jcontactsbusiness.model.opening_time.dayofweek.DayOfTheWeek;
+import org.mxchange.jfinancials.beans.BaseFinancialsBean;
+
+/**
+ * An administrative bean for openingTimes
+ * <p>
+ * @author Roland Häder<roland@mxchange.org>
+ */
+@Named ("adminOpeningTimeController")
+@RequestScoped
+public class FinancialsAdminOpeningTimeWebRequestBean extends BaseFinancialsBean implements FinancialsAdminOpeningTimeWebRequestController {
+
+       /**
+        * Serial number
+        */
+       private static final long serialVersionUID = 5_028_697_360_463L;
+
+       /**
+        * EJB for administrative purposes
+        */
+       @EJB (lookup = "java:global/jfinancials-ejb/adminOpeningTimes!org.mxchange.jcontactsbusiness.model.opening_time.AdminOpeningTimeSessionBeanRemote")
+       private AdminOpeningTimeSessionBeanRemote adminOpeningTimeBean;
+
+       /**
+        * Ending week day
+        */
+       private DayOfTheWeek openingEndDay;
+
+       /**
+        * Ending time
+        */
+       private Date openingEndTime;
+
+       /**
+        * Starting week day
+        */
+       private DayOfTheWeek openingStartDay;
+
+       /**
+        * Starting time
+        */
+       private Date openingStartTime;
+
+       /**
+        * An event being fired when a openingTime has been successfully added
+        */
+       @Inject
+       @Any
+       private Event<ObservableOpeningTimeAddedEvent> openingTimeAddedEvent;
+
+       /**
+        * Default constructor
+        */
+       public FinancialsAdminOpeningTimeWebRequestBean () {
+               // Call super constructor
+               super();
+       }
+
+       /**
+        * Adds openingTime with all data from this backing bean. First this action
+        * method will validate if the openingTime's address is already registered
+        * and if found, it will output a proper faces message.
+        * <p>
+        * @return Redirect outcome
+        */
+       public String addOpeningTimes () {
+               // Get instance
+               final OpeningTime openingTime = this.createOpeningTimes();
+
+               // Call EJB and return updated instance
+               final OpeningTime updatedOpeningTimes = this.adminOpeningTimeBean.addOpeningTime(openingTime);
+
+               // Fire event
+               this.openingTimeAddedEvent.fire(new OpeningTimeAddedEvent(updatedOpeningTimes));
+
+               // Redirect to list
+               return "admin_list_opening_time"; //NOI18N
+       }
+
+       /**
+        * Getter for ending week day
+        * <p>
+        * @return Ending week day
+        */
+       public DayOfTheWeek getOpeningEndDay () {
+               return this.openingEndDay;
+       }
+
+       /**
+        * Setter for ending week day
+        * <p>
+        * @param openingEndDay Ending week day
+        */
+       public void setOpeningEndDay (final DayOfTheWeek openingEndDay) {
+               this.openingEndDay = openingEndDay;
+       }
+
+       /**
+        * Getter for ending time
+        * <p>
+        * @return Ending time
+        */
+       @SuppressWarnings ("ReturnOfDateField")
+       public Date getOpeningEndTime () {
+               return this.openingEndTime;
+       }
+
+       /**
+        * Getter for ending time
+        * <p>
+        * @param openingEndTime Ending time
+        */
+       @SuppressWarnings ("AssignmentToDateFieldFromParameter")
+       public void setOpeningEndTime (final Date openingEndTime) {
+               this.openingEndTime = openingEndTime;
+       }
+
+       /**
+        * Getter for starting week day
+        * <p>
+        * @return Starting week day
+        */
+       public DayOfTheWeek getOpeningStartDay () {
+               return this.openingStartDay;
+       }
+
+       /**
+        * Getter for starting week day
+        * <p>
+        * @param openingStartDay Starting week day
+        */
+       public void setOpeningStartDay (final DayOfTheWeek openingStartDay) {
+               this.openingStartDay = openingStartDay;
+       }
+
+       /**
+        * Getter for starting time
+        * <p>
+        * @return Starting time
+        */
+       @SuppressWarnings ("ReturnOfDateField")
+       public Date getOpeningStartTime () {
+               return this.openingStartTime;
+       }
+
+       /**
+        * Getter for starting time
+        * <p>
+        * @param openingStartTime Starting time
+        */
+       @SuppressWarnings ("AssignmentToDateFieldFromParameter")
+       public void setOpeningStartTime (final Date openingStartTime) {
+               this.openingStartTime = openingStartTime;
+       }
+
+       /**
+        * Prepares an instance of a OpeningTimes object (entity) with all data from
+        * this bean. If a complete fax number or land-line number was provided, it
+        * will be set in the instance as well.
+        * <p>
+        * @return An instance of a OpeningTimes class (entity)
+        */
+       private OpeningTime createOpeningTimes () {
+               // Create new openingTime instance
+               final OpeningTime openingTime = new BusinessOpeningTime(this.getOpeningEndDay(), this.getOpeningEndTime(), this.getOpeningStartDay(), this.getOpeningStartTime());
+
+               // Return fully prepared instance
+               return openingTime;
+       }
+
+}
diff --git a/src/java/org/mxchange/jfinancials/beans/business/opening_time/FinancialsAdminOpeningTimeWebRequestController.java b/src/java/org/mxchange/jfinancials/beans/business/opening_time/FinancialsAdminOpeningTimeWebRequestController.java
new file mode 100644 (file)
index 0000000..168e202
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2017 Roland Häder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.jfinancials.beans.business.opening_time;
+
+import java.io.Serializable;
+
+/**
+ * An interface for administrative opening time controller
+ * <p>
+ * @author Roland Häder<roland@mxchange.org>
+ */
+public interface FinancialsAdminOpeningTimeWebRequestController extends Serializable {
+
+}
diff --git a/src/java/org/mxchange/jfinancials/beans/business/opening_time/FinancialsOpeningTimeWebRequestBean.java b/src/java/org/mxchange/jfinancials/beans/business/opening_time/FinancialsOpeningTimeWebRequestBean.java
new file mode 100644 (file)
index 0000000..7ae1d1d
--- /dev/null
@@ -0,0 +1,153 @@
+/*
+ * Copyright (C) 2017 Roland Häder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.jfinancials.beans.business.opening_time;
+
+import fish.payara.cdi.jsr107.impl.NamedCache;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import javax.annotation.PostConstruct;
+import javax.cache.Cache;
+import javax.ejb.EJB;
+import javax.enterprise.context.RequestScoped;
+import javax.inject.Inject;
+import javax.inject.Named;
+import org.mxchange.jcontactsbusiness.model.opening_time.OpeningTime;
+import org.mxchange.jcontactsbusiness.model.opening_time.OpeningTimeSessionBeanRemote;
+import org.mxchange.jfinancials.beans.BaseFinancialsBean;
+
+/**
+ * A general bean for opening times
+ * <p>
+ * @author Roland Häder<roland@mxchange.org>
+ */
+@Named ("openingTimeController")
+@RequestScoped
+public class FinancialsOpeningTimeWebRequestBean extends BaseFinancialsBean implements FinancialsOpeningTimeWebRequestController {
+
+       /**
+        * Serial number
+        */
+       private static final long serialVersionUID = 5_028_697_360_462L;
+
+       /**
+        * A list of all opening times
+        */
+       private final List<OpeningTime> allOpeningTimes;
+
+       /**
+        * A list of filtered opening times
+        */
+       private List<OpeningTime> filteredOpeningTimes;
+
+       /**
+        * EJB for administrative purposes
+        */
+       @EJB (lookup = "java:global/jfinancials-ejb/openingTimes!org.mxchange.jcontactsbusiness.model.opening_time.OpeningTimeSessionBeanRemote")
+       private OpeningTimeSessionBeanRemote openingTimesBean;
+
+       /**
+        * A list of all opening times (globally)
+        */
+       @Inject
+       @NamedCache (cacheName = "openingTimesCache")
+       private Cache<Long, OpeningTime> openingTimesCache;
+
+       /**
+        * Default constructor
+        */
+       public FinancialsOpeningTimeWebRequestBean () {
+               // Call super constructor
+               super();
+
+               // Init list
+               this.allOpeningTimes = new LinkedList<>();
+       }
+
+       @Override
+       @SuppressWarnings ("ReturnOfCollectionOrArrayField")
+       public List<OpeningTime> allOpeningTimes () {
+               return this.allOpeningTimes;
+       }
+
+       /**
+        * Getter for a list of filtered opening times
+        * <p>
+        * @return Filtered opening times
+        */
+       @SuppressWarnings ("ReturnOfCollectionOrArrayField")
+       public List<OpeningTime> getFilteredOpeningTimes () {
+               return this.filteredOpeningTimes;
+       }
+
+       /**
+        * Setter for a list of filtered opening times
+        * <p>
+        * @param filteredOpeningTimes Filtered opening times
+        */
+       @SuppressWarnings ("AssignmentToCollectionOrArrayFieldFromParameter")
+       public void setFilteredOpeningTimes (final List<OpeningTime> filteredOpeningTimes) {
+               this.filteredOpeningTimes = filteredOpeningTimes;
+       }
+
+       /**
+        * Initializer method
+        */
+       @PostConstruct
+       public void initializeList () {
+               // Is cache there?
+               if (!this.openingTimesCache.iterator().hasNext()) {
+                       // Get whole list
+                       final List<OpeningTime> list = this.openingTimesBean.allOpeningTimes();
+
+                       // Add all
+                       for (final Iterator<OpeningTime> iterator = list.iterator(); iterator.hasNext();) {
+                               // Get next element
+                               final OpeningTime next = iterator.next();
+
+                               // Add it to cache
+                               this.openingTimesCache.put(next.getOpeningId(), next);
+                       }
+               }
+
+               // Is the list empty, but filled cache?
+               if (this.allOpeningTimes.isEmpty() && this.openingTimesCache.iterator().hasNext()) {
+                       // Get iterator
+                       final Iterator<Cache.Entry<Long, OpeningTime>> iterator = this.openingTimesCache.iterator();
+
+                       // Build up list
+                       while (iterator.hasNext()) {
+                               // GEt next element
+                               final Cache.Entry<Long, OpeningTime> next = iterator.next();
+
+                               // Add to list
+                               this.allOpeningTimes.add(next.getValue());
+                       }
+
+                       // Sort list
+                       this.allOpeningTimes.sort(new Comparator<OpeningTime>() {
+                               @Override
+                               public int compare (final OpeningTime o1, final OpeningTime o2) {
+                                       return o1.getOpeningId() > o2.getOpeningId() ? 1 : o1.getOpeningId() < o2.getOpeningId() ? -1 : 0;
+                               }
+                       }
+                       );
+               }
+       }
+
+}
diff --git a/src/java/org/mxchange/jfinancials/beans/business/opening_time/FinancialsOpeningTimeWebRequestController.java b/src/java/org/mxchange/jfinancials/beans/business/opening_time/FinancialsOpeningTimeWebRequestController.java
new file mode 100644 (file)
index 0000000..442b153
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2017 Roland Häder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.jfinancials.beans.business.opening_time;
+
+import java.io.Serializable;
+import java.util.List;
+import org.mxchange.jcontactsbusiness.model.opening_time.OpeningTime;
+
+/**
+ * An interface for general opening times controller
+ * <p>
+ * @author Roland Häder<roland@mxchange.org>
+ */
+public interface FinancialsOpeningTimeWebRequestController extends Serializable {
+
+       /**
+        * Returns a list of all opening times
+        * <p>
+        * @return A list of all opening times
+        */
+       List<OpeningTime> allOpeningTimes ();
+
+}
index db014c5390863f6eb579e8f84ae1c089db921590..9a88edc51192524bb3b08632587b37a9e13e58a0 100644 (file)
@@ -18,6 +18,7 @@ package org.mxchange.jfinancials.beans.data;
 
 import javax.enterprise.context.ApplicationScoped;
 import javax.inject.Named;
+import org.mxchange.jcontactsbusiness.model.opening_time.dayofweek.DayOfTheWeek;
 import org.mxchange.jfinancials.beans.BaseFinancialsBean;
 import org.mxchange.jproduct.model.payment.PaymentType;
 
@@ -43,6 +44,15 @@ public class FinancialsDataWebApplicationBean extends BaseFinancialsBean {
                super();
        }
 
+       /**
+        * Returns a list of all days of the week
+        * <p>
+        * @return A list of all days of the week
+        */
+       public DayOfTheWeek[] getDayOfTheWeek () {
+               return DayOfTheWeek.values();
+       }
+
        /**
         * Returns a list of all payment types
         * <p>
@@ -51,5 +61,4 @@ public class FinancialsDataWebApplicationBean extends BaseFinancialsBean {
        public PaymentType[] getPaymentTypes () {
                return PaymentType.values();
        }
-
 }
index 8681cbc81a70126445e84996ee2221aaa6598f15..547f9616c5f5fd00b60a5b1ae5a6297bc9beb3eb 100644 (file)
@@ -26,9 +26,9 @@ import javax.faces.validator.ValidatorException;
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-import org.mxchange.jcontactsbusiness.exceptions.department.CompanyDepartmentNotFoundException;
-import org.mxchange.jcontactsbusiness.model.department.CompanyDepartmentSessionBeanRemote;
+import org.mxchange.jcontactsbusiness.exceptions.department.DepartmentNotFoundException;
 import org.mxchange.jcontactsbusiness.model.department.Department;
+import org.mxchange.jcontactsbusiness.model.department.DepartmentSessionBeanRemote;
 
 /**
  * Converter for company department id <-> instance
@@ -41,7 +41,7 @@ public class FinancialsCompanyDepartmentConverter implements Converter<Departmen
        /**
         * Company department EJB
         */
-       private static CompanyDepartmentSessionBeanRemote DEPARTMENT_BEAN;
+       private static DepartmentSessionBeanRemote DEPARTMENT_BEAN;
 
        @Override
        public Department getAsObject (final FacesContext context, final UIComponent component, final String submittedValue) {
@@ -52,7 +52,7 @@ public class FinancialsCompanyDepartmentConverter implements Converter<Departmen
                                final Context initial = new InitialContext();
 
                                // Lookup EJB
-                               DEPARTMENT_BEAN = (CompanyDepartmentSessionBeanRemote) initial.lookup("java:global/jfinancials-ejb/companyDepartment!org.mxchange.jcontactsbusiness.model.department.CompanyDepartmentSessionBeanRemote"); //NOI18N
+                               DEPARTMENT_BEAN = (DepartmentSessionBeanRemote) initial.lookup("java:global/jfinancials-ejb/companyDepartment!org.mxchange.jcontactsbusiness.model.department.CompanyDepartmentSessionBeanRemote"); //NOI18N
                        } catch (final NamingException ex) {
                                // Throw it again
                                throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR, "Cannot lookup EJB", ex.getMessage()), ex); //NOI18N
@@ -80,7 +80,7 @@ public class FinancialsCompanyDepartmentConverter implements Converter<Departmen
                } catch (final NumberFormatException ex) {
                        // Throw again
                        throw new ConverterException(ex);
-               } catch (final CompanyDepartmentNotFoundException ex) {
+               } catch (final DepartmentNotFoundException ex) {
                        // Debug message
                        // @TODO Not working with JNDI (no remote interface) this.loggerBeanLocal.logDebug(MessageFormat.format("{0}.getAsObject(): Exception: {1} - Returning null ...", this.getClass().getSimpleName(), ex)); //NOI18N
                }
diff --git a/src/java/org/mxchange/jfinancials/converter/dayofweek/FinancialsDayOfTheWeekConverter.java b/src/java/org/mxchange/jfinancials/converter/dayofweek/FinancialsDayOfTheWeekConverter.java
new file mode 100644 (file)
index 0000000..6f74301
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2017 Roland Häder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.jfinancials.converter.dayofweek;
+
+import javax.faces.convert.EnumConverter;
+import javax.faces.convert.FacesConverter;
+import org.mxchange.jcontactsbusiness.model.opening_time.dayofweek.DayOfTheWeek;
+
+/**
+ * A converter for day of the week enumeration
+ * <p>
+ * @author Roland Häder<roland@mxchange.org>
+ */
+@FacesConverter("DayOfTheWeekConverter")
+public class FinancialsDayOfTheWeekConverter extends EnumConverter {
+
+       /**
+        * Default constructor which calls the super constructor with the proper
+        * enumeration as class type.
+        */
+       public FinancialsDayOfTheWeekConverter () {
+               super(DayOfTheWeek.class);
+       }
+
+}
index 3a8afccfe23e1fffd71db821c9e877b4ee18a8a2..e5cae05facef3dbaf4c499d6c1bd5fa205ea4019 100644 (file)
@@ -88,12 +88,14 @@ CONTENT_TITLE_INDEX_PRIVACY=Datenschutzbestimmungen:
 ADMIN_MENU_MAIN_TITLE=Hauptauswahl
 ADMIN_MENU_LOGOUT_TITLE=Ausloggen
 ADMIN_LINK_INDEX_TITLE=Zur Willkommensseite
-ADMIN_LINK_LOGOUT_TITLE=Ausloggen
+ADMIN_LINK_LOGOUT_TITLE=Ausloggen vom Administrationsbereich
 ADMIN_LINK_TO_WEBPAGE_TITLE=Zur Webseite, aber eingeloggt bleiben
 ADMIN_LINK_INDEX=Home
 ADMIN_LINK_LOGOUT=Ausloggen
 ADMIN_LINK_TO_WEBPAGE=Webseite aufrufen
 ADMIN_LINK_FOOTER_TO_WEBPAGE=Zur Webseite
+#@TODO Please fix German umlauts!
+ADMIN_LINK_FOOTER_TO_WEBPAGE_TITLE=Dieser Link fuehrt zum Gastbereich.
 GUEST_LINK_IMPRINT=Impressum
 GUEST_LINK_TERMS=AGBs
 GUEST_LINK_PRIVACY=Datenschutz
@@ -126,7 +128,8 @@ CONTENT_TITLE_USER_LOGIN_HOME=\u00dcbersicht Ihrer Bewerbungen:
 LOGIN_LINK_LOGOUT=Ausloggen
 COUNTRY_GERMANY=Deutschland
 COUNTRY_PHILIPPINES=Philippinen
-NONE_SELECTED=k.A.
+#@TODO Please fix German umlauts!
+NONE_SELECTED=Nichts ausgewaehlt
 ENTERED_HOUSE_NUMBER_INVALID=Die eingegebene Hausnummer ist ung\u00fcltig.
 ENTERED_ZIP_CODE_INVALID=Die eingegebene Postleitzahl ist ung\u00fcltig.
 TABLE_HEADER_USER_LIST=Alle Benutzer auflisten
@@ -236,6 +239,7 @@ CONTENT_TITLE_ADMIN_EDIT_USER=\u00c4ndern von Benutzeraccounts:
 PAGE_TITLE_ADMIN_UNLOCK_USER=Entsperren von Benutzeraccounts
 CONTENT_TITLE_ADMIN_UNLOCK_USER=Entsperren von Benutzeraccounts:
 ADMIN_MENU_USER_TITLE=Benutzerverwaltung
+#@TODO Please fix German umlauts!
 PAGE_TITLE_ADMIN_ADD_USER=Neues Benutzeraccount hinzufuegen
 CONTENT_TITLE_ADMIN_ADD_USER=Neues Benutzeraccount hinzufuegen:
 TABLE_SUMMARY_ADMIN_LIST_USERS=Diese Tabelle listet Administration, alle Benutzer auf.
@@ -265,7 +269,8 @@ BUTTON_ADMIN_ADD_USER=Neues Benutzeraccount hinzuf\u00fcgen
 ADMIN_MENU_COUNTRY_TITLE=L\u00e4nderdaten
 ADMIN_LINK_LIST_COUNTRIES=L\u00e4nder
 ADMIN_LINK_LIST_COUNTRIES_TITLE=Bestehende L\u00e4nderdaten auflisten, neue hinzuf\u00fcgen, \u00e4ndern und l\u00f6schen.
-PAGE_TITLE_ADMIN_LIST_COUNTRY=L\u00e4nderdaten verwalten
+PAGE_TITLE_ADMIN_LIST_COUNTRY=L\u00e4nderdaten auflisten
+#@TODO Please fix German umlauts!
 CONTENT_TITLE_ADMIN_LIST_COUNTRY=Auflisten von Laenderdaten:
 ADMIN_ADD_COUNTRY_TITLE=Neues Land hinzuf\u00fcgen
 ADMIN_COUNTRY_DATA_MINIMUM_NOTICE=Bitte geben Sie alle Felder an.
@@ -521,9 +526,9 @@ BUTTON_ADMIN_EXPORT_USERS_XLS=Benutzerdaten als Excel-Datei
 ADMIN_LINK_EXPORT_CONTACT=Daten exportieren
 ADMIN_LINK_EXPORT_CONTACT_TITLE=Kontaktdaten exportieren
 #@TODO Please fix German umlauts!
-ADMIN_CONTACT_LIST_EMPTY=Keine Kontaktdaten in Datenbank gefunden. Oder Ihre Suche ergab keine Uebereinstimmungen.
+ADMIN_EMPTY_LIST_CONTACT=Keine Kontaktdaten in Datenbank gefunden. Oder Ihre Suche ergab keine Uebereinstimmungen.
 #@TODO Please fix German umlauts!
-ADMIN_USER_LIST_EMPTY=Keine Benutzerdaten in Datenbank gefunden. Oder Ihre Suche ergab keine Uebereinstimmungen.
+ADMIN_EMPTY_LIST_USER=Keine Benutzerdaten in Datenbank gefunden. Oder Ihre Suche ergab keine Uebereinstimmungen.
 ADMIN_PERSONAL_DATA_COMMENT=Kommentar: (optional)
 PAGE_TITLE_USER_RESEND_DONE=Neuen Best\u00e4tigungslink verschickt
 CONTENT_TITLE_USER_RESEND_DONE=Neuen Best\u00e4tigungslink verschickt:
@@ -783,7 +788,7 @@ PAGE_TITLE_ADMIN_LIST_BASIC_COMPANY_DATA=Stammdaten auflisten
 #@TODO Please fix German umlauts!
 CONTENT_TITLE_ADMIN_LIST_BASIC_COMPANY_DATA=Auflisten von Stammdaten
 #@TODO Please fix German umlauts!
-ADMIN_BASIC_COMPANY_DATA_LIST_EMPTY=Es befinden sich keine Stammdaten in der Datenbank. Oder Ihre Suche ergab keine Uebereinstimmungen.
+ADMIN_EMPTY_LIST_BASIC_COMPANY_DATA=Es befinden sich keine Stammdaten in der Datenbank. Oder Ihre Suche ergab keine Uebereinstimmungen.
 #@TODO Please fix German umlauts!
 TABLE_SUMMARY_ADMIN_LIST_BASIC_COMPANY_DATA=Diese Tabelle listet Stammdaten auf.
 ADMIN_BASIC_COMPANY_DATA_ID=Id-Nummer:
@@ -847,21 +852,21 @@ ADMIN_LINK_SHOW_BASIC_COMPANY_DATA_COMPANY_FOUNDER_TITLE=Daten des Unternehmensg
 ADMIN_LINK_ASSIGN_BASIC_COMPANY_DATA_COMPANY_FOUNDER_TITLE=Weisst diesem Firmeneintrag einen Unternehmensgruender zu.
 ADMIN_BASIC_COMPANY_DATA_CREATED=Eintrag erstellt
 ADMIN_USER_NAME_IS_REQUIRED=Bitte vergeben Sie einen Benutzernamen. Dieser muss unique sein.
-NO_WEBSITE_URL_ENTERED=Keine URL eingegeben
+NO_WEBSITE_URL_ENTERED=Keine URL eingegeben.
 ADMIN_LINK_LIST_BRANCH_OFFICES=Filialen
 ADMIN_LINK_LIST_BRANCH_OFFICES_TITLE=Listet Filialen auf.
 ADMIN_ENTER_DATA_STORE=Etage eingeben:
 ADMIN_ENTER_DATA_SUITE_NUMBER=Appartmentnummer eingeben:
-ADMIN_ASSIGN_BRANCH_OFFICE_USER_OWNER=Benutzer einer Filiale zuweisen:
+ADMIN_ASSIGN_BRANCH_OFFICE_USER_OWNER=Benutzer der Filiale zuweisen:
 ADMIN_ASSIGN_BRANCH_OFFICE_CONTACT_EMPLOYEE=Kontaktperson der Filiale zuweisen:
 ADMIN_BRANCH_OFFICE_DATA_LEGEND=Grunddaten der Filiale:
 #@TODO Please fix German umlauts!
 ADMIN_BRANCH_OFFICE_DATA_LEGEND_TITLE=Geben Sie hier die Grunddaten der Filiale ein.
-ADMIN_ASSIGN_BRANCH_OFFICE_COMPANY=Filiale einem Unternehmen zuweisen:
+ADMIN_ASSIGN_BRANCH_OFFICE_COMPANY=Filiale dem Unternehmen zuweisen:
 PAGE_TITLE_ADMIN_LIST_BRANCH_OFFICES=Filialen auflisten
 CONTENT_TITLE_ADMIN_LIST_BRANCH_OFFICES=Auflisten von Filialen:
 #@TODO Please fix German umlauts!
-ADMIN_BRANCH_OFFICES_LIST_EMPTY=Es wurden keine Filialen in der Datenbank gefunden. Oder Ihre Suche ergab keine Uebereinstimmungen.
+ADMIN_EMPTY_LIST_BRANCH_OFFICES=Es wurden keine Filialen in der Datenbank gefunden. Oder Ihre Suche ergab keine Uebereinstimmungen.
 #@TODO Please fix German umlauts!
 ADMIN_ADD_BRANCH_OFFICE_TITLE=Filiale hinzufuegen
 #@TODO Please fix German umlauts!
@@ -916,25 +921,26 @@ ADMIN_LINK_RESEND_CONFIRMATION_SHORT=Erneut
 ADMIN_LINK_UNLOCK_SHORT=Entsperren
 ADMIN_LINK_LOCK_SHORT=Sperren
 #@TODO Please fix German umlauts!
-ADMIN_MOBILE_PROVIDER_LIST_EMPTY=Es befinden sich keine Mobilfunkanbieter in der Datenbank. Oder Ihre Suche ergab keine Uebereinstimmungen.
+ADMIN_EMPTY_LIST_MOBILE_PROVIDER=Es befinden sich keine Mobilfunkanbieter in der Datenbank. Oder Ihre Suche ergab keine Uebereinstimmungen.
 ADMIN_LINK_SHOW_MOBILE_PROVIDER_TITLE=Details des Mobilfunkanbieters anzeigen.
 ADMIN_LINK_EDIT_MOBILE_PROVIDER_TITLE=Edieren des Mobilfunkanbieters.
 #@TODO Please fix German umlauts!
 ADMIN_LINK_DELETE_MOBILE_PROVIDER_TITLE=Loescht den Mobilfunkanbieter.
-ADMIN_LINK_SHOW_COUNTRY_TITLE=Details des Landes anzeigen.
-ADMIN_LINK_EDIT_COUNTRY_TITLE=Editieren des Landes.
+ADMIN_LINK_SHOW_COUNTRY_TITLE=Zeigt Details des Landes an.
+#@TODO Please fix German umlauts!
+ADMIN_LINK_EDIT_COUNTRY_TITLE=Editieren der Laenderdaten.
 #@TODO Please fix German umlauts!
-ADMIN_LINK_DELETE_COUNTRY_TITLE=Loeschen des Landes.
+ADMIN_LINK_DELETE_COUNTRY_TITLE=Loescht die Laenderdaten.
 #@TODO Please fix German umlauts!
-ADMIN_COUNTRY_LIST_EMPTY=Es befinden sich keine Laender in der Datenbank. Oder Ihre Suche ergab keine Uebereinstimmungen.
+ADMIN_EMPTY_LIST_COUNTRY=Es befinden sich keine Laender in der Datenbank. Oder Ihre Suche ergab keine Uebereinstimmungen.
 #@TODO Please fix German umlauts!
-ADMIN_FAX_NUMBER_LIST_EMPTY=Es befinden sich keine Faxnummern in der Datenbank oder Ihre Suche ergab keine Uebereinstimmungen.
+ADMIN_EMPTY_LIST_FAX_NUMBER=Es befinden sich keine Faxnummern in der Datenbank oder Ihre Suche ergab keine Uebereinstimmungen.
 #@TODO Please fix German umlauts!
-ADMIN_LANDLINE_NUMBER_LIST_EMPTY=Es befinden sich keine Festnetznummern in der Datenbank oder Ihre Suche ergab keine Uebereinstimmungen.
+ADMIN_EMPTY_LIST_LANDLINE_NUMBER=Es befinden sich keine Festnetznummern in der Datenbank oder Ihre Suche ergab keine Uebereinstimmungen.
 #@TODO Please fix German umlauts!
-ADMIN_MOBILE_NUMBER_LIST_EMPTY=Es befinden sich keine Mobilfunknummern in der Datenbank oder Ihre Suche ergab keine Uebereinstimmungen.
+ADMIN_EMPTY_LIST_MOBILE_NUMBER=Es befinden sich keine Mobilfunknummern in der Datenbank oder Ihre Suche ergab keine Uebereinstimmungen.
 #@TODO Please fix German umlauts!
-ADMIN_CONTACT_MOBILE_LIST_EMPTY=Es befinden sich keine Mobilfunknummern von Kontakten in der Datenbank oder Ihre Suche ergab keine Uebereinstimmungen.
+ADMIN_EMPTY_LIST_CONTACT_MOBILE=Es befinden sich keine Mobilfunknummern von Kontakten in der Datenbank oder Ihre Suche ergab keine Uebereinstimmungen.
 #@TODO Please fix German umlauts!
 ADMIN_MOBILE_PROVIDER_COUNTRY_REQUIRED=Bitte waehlen Sie ein Land fuer den Mobilfunkanbieter aus.
 #@TODO Please fix German umlauts!
@@ -966,10 +972,10 @@ PAYMENT_TYPE_INVOICE=Auf Rechnung
 ADMIN_SELECT_SELLER_EMPLOYEE=Verkaeufer auswaehlen:
 #@TODO Please fix German umlauts!
 LOGIN_SELECT_SELLER_EMPLOYEE=Bitte waehlen Sie einen Verkaeufer aus:
-ADMIN_LINK_SHOW_EMPLOYEE_TITLE=Zeigt Daten eines Mitarbeiters an.
+ADMIN_LINK_SHOW_EMPLOYEE_TITLE=Zeigt Details des Mitarbeiters an.
 TABLE_SUMMARY_ADMIN_LIST_EMPLOYEES=Diese Tabelle listet alle Mitarbeiter auf.
 #@TODO Please fix German umlauts!
-ADMIN_EMPLOYEES_LIST_EMPTY=Es wurden keine Mitarbeiter in der Datenbank gefunden. Oder Ihre Suche ergab keine Uebereinstimmungen.
+ADMIN_EMPTY_LIST_EMPLOYEES=Es befinden sich keine Mitarbeiter in der Datenbank gefunden. Oder Ihre Suche ergab keine Uebereinstimmungen.
 ADMIN_LIST_EMPLOYEES_HEADER=Alle Mitarbeiter auflisten
 ADMIN_LINK_LIST_EMPLOYEES=Mitarbeiter
 ADMIN_LINK_LIST_EMPLOYEES_TITLE=Listet Mitarbeiter auf
@@ -1010,3 +1016,57 @@ ADMIN_LINK_LIST_DEPARTMENTS=Abteilungen
 ADMIN_LINK_LIST_DEPARTMENTS_TITLE=Listet Abteilungen von Unternehmen auf.
 #@TODO Please fix German umlauts!
 ADMIN_LINK_LIST_OPENING_TIMES=Oeffnungszeiten
+PAGE_TITLE_ADMIN_LIST_DEPARTMENTS=Abteilungen auflisten
+CONTENT_TITLE_ADMIN_LIST_DEPARTMENTS=Auflisten von Abteilungen:
+#@TODO Please fix German umlauts!
+ADMIN_EMPTY_LIST_DEPARTMENTS=Es befinden sich keine Abteilungen in der Datenbank. Oder Ihre Suche ergab keine Uebereinstimmungen.
+ADMIN_LINK_SHOW_DEPARTMENT_TITLE=Zeigt Details zur Abteilung an.
+ADMIN_LINK_EDIT_DEPARTMENT_TITLE=Editieren der Abteilung
+ADMIN_LINK_DELETE_DEPARTMENT_TITLE=Loescht die Abteilung
+#@TODO Please fix German umlauts!
+ADMIN_DEPARTMENT_ALREADY_CREATED=Die Abteilung existiert bereits im ausgewaehlten Unternehmen.
+ADMIN_LIST_DEPARTMENTS_HEADER=Alle Abteilungen auflisten
+ADMIN_DEPARTMENT_NAME=Abteilung:
+ADMIN_DEPARTMENT_LEAD_EMPLOYEE=Abteilungsleiter:
+ADMIN_ADD_DEPARTMENT_TITLE=Neue Abteilung hinzuf\u00fcgen
+ADMIN_DEPARTMENT_LEGEND=Daten der Abteilung eingeben:
+ADMIN_DEPARTMENT_LEGEND_TITLE=Geben Sie hier die Daten der Abteilung ein.
+#@TODO Please fix German umlauts!
+ADMIN_ADD_DEPARTMENT_MINIMUM_DATA=Bitte geben Sie mindestens den Namen der Abteilung (z.B. Verkauf) ein und waehlen Sie mindestens das Unternehmen aus. Wenn bekannt, waehlen Sie entweder eine Filiale oder eine Hauptniederlassung aus.
+ADMIN_ENTER_DEPARTMENT_NAME=Name der Abteilung eingeben:
+ADMIN_ASSIGN_DEPARTMENT_BRANCH_OFFICE=Filiale der Abteilung zuweisen:
+ADMIN_ASSIGN_DEPARTMENT_HEADQUARTERS=Hauptsitz der Abteilung zuweisen:
+ADMIN_ASSIGN_DEPARTMENT_COMPANY=Unternehmen der Abteilung zuweisen:
+ADMIN_ASSIGN_DEPARTMENT_LEAD_EMPLOYEE=Leitender Mitarbeiter der Abteilung zuweisen:
+ADMIN_ASSIGN_DEPARTMENT_USER_OWNER=Benutzer als Besitzer der Abteilung zuweisen:
+ADMIN_DEPARTMENT_COMPANY_REQUIRED=Bitte weisen Sie ein Unternehmen der Abteilung zu.
+ADMIN_DEPARTMENT_NAME_REQUIRED=Bitte geben Sie der Abteilung einen Namen. Zum Beispiel: Verkauf, Personalwesen
+BUTTON_ADMIN_ADD_DEPARTMENT_DATA=Abteilung hinzuf\u00fcgen
+#@TODO Please fix German umlauts!
+PAGE_TITLE_ADMIN_LIST_OPENING_TIMES=Oeffnungszeiten auflisten
+#@TODO Please fix German umlauts!
+CONTENT_TITLE_ADMIN_LIST_OPENING_TIMES=Auflisten von Oeffnungszeiten:
+#@TODO Please fix German umlauts!
+TABLE_SUMMARY_ADMIN_LIST_OPENING_TIMES=Diese Tabelle listet alle bereits angelegten Oeffnungszeiten auf.
+#@TODO Please fix German umlauts!
+ADMIN_EMPTY_LIST_OPENING_TIMES=Es befinden sich keine Oeffnungszeiten in der Datenbank. Oder Ihre Suche ergab keine Uebereinstimmungen.
+LABEL_WEEK_DAYS=Wochentage
+FILTER_BY_MULTIPLE_WEEK_DAYS_TITLE=Liste durch Auswahl von ein oder mehr Wochentagen durchsuchen.
+#@TODO Please fix German umlauts!
+ADMIN_LIST_OPENING_TIMES_HEADER=Liste aller Oeffnungszeiten
+ADMIN_START_WEEK_DAY=Start-Wochentag:
+ADMIN_END_WEEK_DAY=Endwochentag:
+ADMIN_START_TIME=Startzeit:
+ADMIN_END_TIME=Endezeit:
+ADMIN_START_WEEK_DAY_REQUIRED=Bitte geben Sie den Startwochentag an.
+ADMIN_END_WEEK_DAY_REQUIRED=Bitte geben Sie den Endwochentag an.
+ADMIN_START_TIME_REQUIRED=Bitte geben Sie die Startzeit an.
+ADMIN_END_TIME_REQUIRED=Bitte geben Sie die Endezeit an.
+#@TODO Please fix German umlauts!
+ADMIN_OPENING_TIME_LEGEND=Einzelne Oeffnungszeit:
+ADMIN_OPENING_TIME_LEGEND_TITLE=Geben Sie die Daten einer einzelnen Oeffnungszeit an.
+#@TODO Please fix German umlauts!
+ADMIN_ADD_OPENING_TIME_TITLE=Oeffnungszeit hinzufuegen:
+#@TODO Please fix German umlauts!
+ADMIN_ADD_OPENING_TIME_MINIMUM_DATA=Bitte geben Sie zum Hinzufuegen einer Oeffnungszeit alle Angaben an. Diese sollten nicht konfliktieren.
+BUTTON_ADMIN_ADD_OPENING_TIME=Oeffnungszeit hinzufuegen
index 46cbe6ea6515d1b326a26970642e9acb5d88d9e9..fd1c16c68a4d5187c20317ae03dd0efa308777c0 100644 (file)
@@ -94,6 +94,7 @@ ADMIN_LINK_INDEX=Home
 ADMIN_LINK_LOGOUT=Logout
 ADMIN_LINK_TO_WEBPAGE=Call website
 ADMIN_LINK_FOOTER_TO_WEBPAGE=To website
+ADMIN_LINK_FOOTER_TO_WEBPAGE_TITLE=This link goes to the guest area.
 GUEST_LINK_IMPRINT=Imprint
 GUEST_LINK_TERMS=T&C
 GUEST_LINK_PRIVACY=Privacy
@@ -127,7 +128,7 @@ LOGIN_LINK_LOGOUT=Logout
 PAGE_TITLE_LOGIN_AREA=User area
 COUNTRY_GERMANY=Germany
 COUNTRY_PHILIPPINES=Philippines
-NONE_SELECTED=Empty
+NONE_SELECTED=None selected
 ENTERED_HOUSE_NUMBER_INVALID=The entered house number is invalid.
 ENTERED_ZIP_CODE_INVALID=The entered ZIP code is invalid.
 TABLE_HEADER_USER_LIST=List all users
@@ -247,7 +248,7 @@ BUTTON_ADMIN_ADD_USER=Add new user account
 ADMIN_MENU_COUNTRY_TITLE=Country data
 ADMIN_LINK_LIST_COUNTRIES=Countries
 ADMIN_LINK_LIST_COUNTRIES_TITLE=List existing countries, add new country, edit and delete.
-PAGE_TITLE_ADMIN_LIST_COUNTRY=Manage country data
+PAGE_TITLE_ADMIN_LIST_COUNTRY=List country data
 CONTENT_TITLE_ADMIN_LIST_COUNTRY=List country data:
 ADMIN_ADD_COUNTRY_TITLE=Add new country
 ADMIN_COUNTRY_DATA_MINIMUM_NOTICE=Please fill out all fields.
@@ -683,8 +684,8 @@ CONTENT_TITLE_ADMIN_DELETE_LAND_LINE_NUMBER=Delete land-line number:
 ADMIN_DELETE_LAND_LINE_NUMBER_TITLE=Dou you really want to delete following land-line number?
 ADMIN_DELETE_LAND_LINE_NUMBER_DATA_NOTICE=If you delete the land-line number, it won't be available anymore for anything. Please consider carefully if you really want this.
 BUTTON_ADMIN_DELETE_LAND_LINE_NUMBER=Delete land-line number
-ADMIN_CONTACT_LIST_EMPTY=No contact data found in database. Or your search criteria doesn't match anything.
-ADMIN_USER_LIST_EMPTY=No user data found in database. Or your search criteria doesn't match anything.
+ADMIN_EMPTY_LIST_CONTACT=No contact data found in database. Or your search criteria doesn't match anything.
+ADMIN_EMPTY_LIST_USER=No user data found in database. Or your search criteria doesn't match anything.
 ADMIN_PERSONAL_DATA_COMMENT=Comment: (optional)
 ADMIN_LINK_RESEND_USER_CONFIRMATION_LINK=Send new confirmation key
 ADMIN_LINK_RESEND_USER_CONFIRMATION_LINK_TITLE=Sends out a new confirmation link to the user's assigned email address.
@@ -768,7 +769,7 @@ ADMIN_LINK_LIST_BASIC_COMPANY_DATA=Basic company data
 ADMIN_LINK_LIST_BASIC_COMPANY_DATA_TITLE=Lists basic company data.
 PAGE_TITLE_ADMIN_LIST_BASIC_COMPANY_DATA=List basic company data
 CONTENT_TITLE_ADMIN_LIST_BASIC_COMPANY_DATA=Lists basic company data
-ADMIN_BASIC_COMPANY_DATA_LIST_EMPTY=There are currently no basic company data in database. Or your search criteria doesn't match anything.
+ADMIN_EMPTY_LIST_BASIC_COMPANY_DATA=There are currently no basic company data in database. Or your search criteria doesn't match anything.
 TABLE_SUMMARY_ADMIN_LIST_BASIC_COMPANY_DATA=This table lists all basic company data.
 ADMIN_BASIC_COMPANY_DATA_ID=Id Number:
 ADMIN_LINK_SHOW_BASIC_COMAPNY_DATA_TITLE=Show details of this business contact.
@@ -815,7 +816,7 @@ ADMIN_LINK_SHOW_BASIC_COMPANY_DATA_COMPANY_FOUNDER_TITLE=Show data of company fo
 ADMIN_LINK_ASSIGN_BASIC_COMPANY_DATA_COMPANY_FOUNDER_TITLE=Assigns a company founder to this company entry.
 ADMIN_BASIC_COMPANY_DATA_CREATED=Entry created
 ADMIN_USER_NAME_IS_REQUIRED=Please enter a user name. This must be unique.
-NO_WEBSITE_URL_ENTERED=No URL entered
+NO_WEBSITE_URL_ENTERED=No URL entered.
 ADMIN_LINK_LIST_BRANCH_OFFICES=Branch offices
 ADMIN_LINK_LIST_BRANCH_OFFICES_TITLE=Lists branch offices.
 ADMIN_ENTER_DATA_STORE=Enter store:
@@ -827,7 +828,7 @@ ADMIN_BRANCH_OFFICE_DATA_LEGEND_TITLE=Enter branch office basic data here.
 ADMIN_ASSIGN_BRANCH_OFFICE_COMPANY=Assign branch office to company:
 PAGE_TITLE_ADMIN_LIST_BRANCH_OFFICES=List branch offices
 CONTENT_TITLE_ADMIN_LIST_BRANCH_OFFICES=List branch offices:
-ADMIN_BRANCH_OFFICES_LIST_EMPTY=There are no branch offices found in database. Or your search criteria doesn't match anything.
+ADMIN_EMPTY_LIST_BRANCH_OFFICES=There are no branch offices found in database. Or your search criteria doesn't match anything.
 ADMIN_ADD_BRANCH_OFFICE_TITLE=Add branch office
 #Bitte waehlen Sie mindestens das zugehoerige Unternehmen und das Land aus und geben Sie Strasse, Hausnummer, Postleitzahl und Stadt ein.
 ADMIN_ADD_BRANCH_OFFICE_MINIMUM_DATA=Please at least choose assigned company, country and enter at least street name, house number, ZIP code and city.
@@ -853,36 +854,36 @@ NO_EMAIL_ADDRESS_ENTERED=No email address entered.
 DATA_ADDRESS=Address
 DATA_STORE=Store:
 DATA_SUITE_NUMBER=Suite number:
-ADMIN_LINK_SHOW_LANDLINE_NUMBER_TITLE=Shows details to land-line number.
-ADMIN_LINK_EDIT_LANDLINE_NUMBER_TITLE=Edit of land-line number.
+ADMIN_LINK_SHOW_LANDLINE_NUMBER_TITLE=Shows details to land-line number.
+ADMIN_LINK_EDIT_LANDLINE_NUMBER_TITLE=Edit of land-line number.
 ADMIN_LINK_UNLINK_LANDLINE_NUMBER_CONTACT_TITLE=Unlinks land-line number from contact.
-ADMIN_LINK_DELETE_LANDLINE_NUMBER_TITLE=Deletes land-line number.
+ADMIN_LINK_DELETE_LANDLINE_NUMBER_TITLE=Deletes land-line number.
 ADMIN_LINK_UNLINK_MOBILE_NUMBER_CONTACT_TITLE=Unlinks mobile number from contact.
-ADMIN_LINK_SHOW_MOBILE_NUMBER_TITLE=Shows details of mobile number.
+ADMIN_LINK_SHOW_MOBILE_NUMBER_TITLE=Shows details of mobile number.
 ADMIN_LINK_UNLINK_FAX_NUMBER_CONTACT_TITLE=Unlinks fax number from contact.
-ADMIN_LINK_SHOW_FAX_NUMBER_TITLE=Shows details of fax number.
-ADMIN_LINK_DELETE_MOBILE_NUMBER_TITLE=Deletes mobile mobile.
-ADMIN_LINK_EDIT_MOBILE_NUMBER_TITLE=Edit of mobile number
-ADMIN_LINK_DELETE_FAX_NUMBER_TITLE=Deletes fax number.
-ADMIN_LINK_EDIT_FAX_NUMBER_TITLE=Edit of fax number.
+ADMIN_LINK_SHOW_FAX_NUMBER_TITLE=Shows details of fax number.
+ADMIN_LINK_DELETE_MOBILE_NUMBER_TITLE=Deletes mobile mobile.
+ADMIN_LINK_EDIT_MOBILE_NUMBER_TITLE=Edit of mobile number
+ADMIN_LINK_DELETE_FAX_NUMBER_TITLE=Deletes fax number.
+ADMIN_LINK_EDIT_FAX_NUMBER_TITLE=Edit of fax number.
 ADMIN_LINK_EDIT_BASIC_COMAPNY_DATA_TITLE=Edit of basic data of company.
 ADMIN_LINK_DELETE_BASIC_COMAPNY_DATA_TITLE=Deletes basic data of company.
 ADMIN_ACTION_LINKS=Actions:
 ADMIN_LINK_RESEND_CONFIRMATION_SHORT=Resend
 ADMIN_LINK_UNLOCK_SHORT=Unlock
 ADMIN_LINK_LOCK_SHORT=Lock
-ADMIN_MOBILE_PROVIDER_LIST_EMPTY=There are no mobile providers in database. Or your search criteria doesn't match anything.
-ADMIN_LINK_SHOW_MOBILE_PROVIDER_TITLE=Shows details of mobile provider.
-ADMIN_LINK_EDIT_MOBILE_PROVIDER_TITLE=Edit of mobile provider.
-ADMIN_LINK_DELETE_MOBILE_PROVIDER_TITLE=Deletes mobile provider.
-ADMIN_LINK_SHOW_COUNTRY_TITLE=Show details of country.
-ADMIN_LINK_EDIT_COUNTRY_TITLE=Edit of country.
-ADMIN_LINK_DELETE_COUNTRY_TITLE=Deletes country.
-ADMIN_COUNTRY_LIST_EMPTY=There are no countries in database. Or your search criteria doesn't match anything.
-ADMIN_FAX_NUMBER_LIST_EMPTY=There are no fax numbers in database. Or your search criteria doesn't match anything.
-ADMIN_LANDLINE_NUMBER_LIST_EMPTY=There are no land-line numbers in database. Or your search criteria doesn't match anything.
-ADMIN_MOBILE_NUMBER_LIST_EMPTY=There are no mobile numbers in database. Or your search criteria doesn't match anything.
-ADMIN_CONTACT_MOBILE_LIST_EMPTY=There are no mobile numbers of contacts in database. Or your search criteria doesn't match anything.
+ADMIN_EMPTY_LIST_MOBILE_PROVIDER=There are no mobile providers in database. Or your search criteria doesn't match anything.
+ADMIN_LINK_SHOW_MOBILE_PROVIDER_TITLE=Shows details of mobile provider.
+ADMIN_LINK_EDIT_MOBILE_PROVIDER_TITLE=Edit of mobile provider.
+ADMIN_LINK_DELETE_MOBILE_PROVIDER_TITLE=Deletes mobile provider.
+ADMIN_LINK_SHOW_COUNTRY_TITLE=Shows details of a country.
+ADMIN_LINK_EDIT_COUNTRY_TITLE=Edit of country.
+ADMIN_LINK_DELETE_COUNTRY_TITLE=Deletes country.
+ADMIN_EMPTY_LIST_COUNTRY=There are no countries in database. Or your search criteria doesn't match anything.
+ADMIN_EMPTY_LIST_FAX_NUMBER=There are no fax numbers in database. Or your search criteria doesn't match anything.
+ADMIN_EMPTY_LIST_LANDLINE_NUMBER=There are no land-line numbers in database. Or your search criteria doesn't match anything.
+ADMIN_EMPTY_LIST_MOBILE_NUMBER=There are no mobile numbers in database. Or your search criteria doesn't match anything.
+ADMIN_EMPTY_LIST_CONTACT_MOBILE=There are no mobile numbers of contacts in database. Or your search criteria doesn't match anything.
 ADMIN_MOBILE_PROVIDER_COUNTRY_REQUIRED=Please select a country for mobile provider.
 LABEL_COUNTRIES=Countries
 #Filter list by selecting one or more users.
@@ -907,9 +908,9 @@ PAYMENT_TYPE_PREPAYMENT=Prepayment
 PAYMENT_TYPE_INVOICE=Per invoice
 ADMIN_SELECT_SELLER_EMPLOYEE=Choose seller:
 LOGIN_SELECT_SELLER_EMPLOYEE=Please choose a seller:
-ADMIN_LINK_SHOW_EMPLOYEE_TITLE=Shows data of an employee.
+ADMIN_LINK_SHOW_EMPLOYEE_TITLE=Shows details of an employee.
 TABLE_SUMMARY_ADMIN_LIST_EMPLOYEES=This table lists all company employees.
-ADMIN_EMPLOYEES_LIST_EMPTY=There are no company employees found in database. Or your search criteria doesn't match anything.
+ADMIN_EMPTY_LIST_EMPLOYEES=There are no company employees found in database. Or your search criteria doesn't match anything.
 ADMIN_LIST_EMPLOYEES_HEADER=List all company employees
 ADMIN_LINK_LIST_EMPLOYEES=Employees
 ADMIN_LINK_LIST_EMPLOYEES_TITLE=Lists company employees
@@ -945,3 +946,48 @@ ADMIN_LIST_BASIC_COMPANY_DATA_HEADER=List all company basic data
 ADMIN_LINK_LIST_DEPARTMENTS=Departments
 ADMIN_LINK_LIST_DEPARTMENTS_TITLE=Lists departments of companies.
 ADMIN_LINK_LIST_OPENING_TIMES=Opening times
+PAGE_TITLE_ADMIN_LIST_DEPARTMENTS=List departments
+CONTENT_TITLE_ADMIN_LIST_DEPARTMENTS=List departments:
+ADMIN_EMPTY_LIST_DEPARTMENTS=There are no departments in database. Or your search criteria doesn't match anything.
+ADMIN_LINK_SHOW_DEPARTMENT_TITLE=Shpws details of a department.
+ADMIN_LINK_EDIT_DEPARTMENT_TITLE=Edit of a department
+ADMIN_LINK_DELETE_DEPARTMENT_TITLE=Deletes a department.
+ADMIN_DEPARTMENT_ALREADY_CREATED=The department already exists in selected company.
+ADMIN_LIST_DEPARTMENTS_HEADER=List all departments
+ADMIN_DEPARTMENT_NAME=Department:
+ADMIN_DEPARTMENT_LEAD_EMPLOYEE=Department leader:
+ADMIN_ADD_DEPARTMENT_TITLE=Add new department
+ADMIN_DEPARTMENT_LEGEND=Enter data of department:
+ADMIN_DEPARTMENT_LEGEND_TITLE=Here you can enter data of the new department.
+#Bitte geben Sie mindestens den Namen der Abteilung (z.B. Verkauf) ein und waehlen Sie mindestens das Unternehmen aus. Wenn bekannt, waehlen Sie entweder eine Filiale oder eine Hauptniederlassung aus.
+ADMIN_ADD_DEPARTMENT_MINIMUM_DATA=Please enter at least name of department (e.g. Sales) and choose assigned company. If known, choose a branch office or headquarters.
+ADMIN_ENTER_DEPARTMENT_NAME=Enter name of department:
+ADMIN_ASSIGN_DEPARTMENT_BRANCH_OFFICE=Assign branch office to department:
+ADMIN_ASSIGN_DEPARTMENT_HEADQUARTERS=Assign headquarters to department:
+ADMIN_ASSIGN_DEPARTMENT_COMPANY=Assign company to department:
+ADMIN_ASSIGN_DEPARTMENT_LEAD_EMPLOYEE=Assign leading employee to department:
+ADMIN_ASSIGN_DEPARTMENT_USER_OWNER=Assign owning user to department:
+ADMIN_DEPARTMENT_COMPANY_REQUIRED=Please assign a company to this department.
+ADMIN_DEPARTMENT_NAME_REQUIRED=Please enter a name for the department. Examples: Sales, Human Resources
+BUTTON_ADMIN_ADD_DEPARTMENT_DATA=Add department
+PAGE_TITLE_ADMIN_LIST_OPENING_TIMES=List opening times
+CONTENT_TITLE_ADMIN_LIST_OPENING_TIMES=List opening times:
+TABLE_SUMMARY_ADMIN_LIST_OPENING_TIMES=This table lists all opening times.
+ADMIN_EMPTY_LIST_OPENING_TIMES=There are no opening times in database. Or your search criteria doesn't match anything.
+LABEL_WEEK_DAYS=Week days
+FILTER_BY_MULTIPLE_WEEK_DAYS_TITLE=Filter list by selecting one or more week days.
+ADMIN_LIST_OPENING_TIMES_HEADER=List of all opening times
+ADMIN_START_WEEK_DAY=Start week day:
+ADMIN_END_WEEK_DAY=End week day:
+ADMIN_START_TIME=Start time:
+ADMIN_END_TIME=End time:
+ADMIN_START_WEEK_DAY_REQUIRED=Please enter start week day.
+ADMIN_END_WEEK_DAY_REQUIRED=Please enter end week day.
+ADMIN_START_TIME_REQUIRED=Please enter start time.
+ADMIN_END_TIME_REQUIRED=Please enter end time.
+ADMIN_OPENING_TIME_LEGEND=Data of single opening time:
+ADMIN_OPENING_TIME_LEGEND_TITLE=Enter data of single opening time.
+ADMIN_ADD_OPENING_TIME_TITLE=Add new opening time:
+#BItte geben Sie zum Hinzufuegen einer Oeffnungszeit alle Angaben an. Diese sollten nicht konfliktieren.
+ADMIN_ADD_OPENING_TIME_MINIMUM_DATA=To add new opening time, you have to provide all data. They should not conflict.
+BUTTON_ADMIN_ADD_OPENING_TIME=Add opening time
index a41f05d9db9cab009d390298e804e89afbd052d8..c1f66e439b26648f84eef094ad23fb4ad171936d 100644 (file)
                        <to-view-id>/admin/basic_company_data/admin_basic_company_data_assign_owner.xhtml</to-view-id>
                </navigation-case>
                <navigation-case>
-                       <from-outcome>admin_show_business_employee</from-outcome>
+                       <from-outcome>admin_show_employee</from-outcome>
                        <to-view-id>/admin/company_employee/admin_company_employee_show.xhtml</to-view-id>
                </navigation-case>
                <navigation-case>
                        <to-view-id>/admin/basic_company_data/admin_basic_company_data_show.xhtml</to-view-id>
                </navigation-case>
                <navigation-case>
-                       <from-outcome>admin_show_business_employee</from-outcome>
+                       <from-outcome>admin_show_employee</from-outcome>
                        <to-view-id>/admin/company_employee/admin_company_employee_show.xhtml</to-view-id>
                </navigation-case>
                <navigation-case>
                        <to-view-id>/admin/branch_office/admin_branch_office_assign_employee.xhtml</to-view-id>
                </navigation-case>
        </navigation-rule>
+       <navigation-rule>
+               <from-view-id>/admin/department/admin_department_list.xhtml</from-view-id>
+               <navigation-case>
+                       <from-outcome>admin_show_department</from-outcome>
+                       <to-view-id>/admin/department/admin_department_show.xhtml</to-view-id>
+               </navigation-case>
+               <navigation-case>
+                       <from-outcome>admin_edit_department</from-outcome>
+                       <to-view-id>/admin/department/admin_department_edit.xhtml</to-view-id>
+               </navigation-case>
+               <navigation-case>
+                       <from-outcome>admin_delete_department</from-outcome>
+                       <to-view-id>/admin/department/admin_department_delete.xhtml</to-view-id>
+               </navigation-case>
+               <navigation-case>
+                       <from-outcome>admin_show_branch_office</from-outcome>
+                       <to-view-id>/admin/branch_office/admin_branch_office_show.xhtml</to-view-id>
+               </navigation-case>
+               <navigation-case>
+                       <from-outcome>admin_assign_department_branch_office</from-outcome>
+                       <to-view-id>/admin/department/admin_assign_department_branch_office.xhtml</to-view-id>
+               </navigation-case>
+               <navigation-case>
+                       <from-outcome>admin_show_employee</from-outcome>
+                       <to-view-id>/admin/employee/admin_employee_show.xhtml</to-view-id>
+               </navigation-case>
+               <navigation-case>
+                       <from-outcome>admin_assign_department_employee</from-outcome>
+                       <to-view-id>/admin/department/admin_assign_department_employee.xhtml</to-view-id>
+               </navigation-case>
+               <navigation-case>
+                       <from-outcome>admin_assign_department_user</from-outcome>
+                       <to-view-id>/admin/department/admin_assign_department_user.xhtml</to-view-id>
+               </navigation-case>
+       </navigation-rule>
        <navigation-rule>
                <from-view-id>/admin/employee/admin_employee_list.xhtml</from-view-id>
                <navigation-case>
index 7a131f3d586753fdbcfb564b7ea73e4ac1c05cf6..a0841d5af86e8bb960cf95f59a80af68bae1933f 100644 (file)
@@ -193,6 +193,29 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
                        <type>java.lang.Boolean</type>
                </attribute>
        </tag>
+       <tag>
+               <tag-name>outputDepartmentAdminMiniLinks</tag-name>
+               <description>This tag renders administrative "mini-links" for given department instance.</description>
+               <source>resources/tags/admin/links/mini/department/admin_department_links.tpl</source>
+               <attribute>
+                       <name>department</name>
+                       <description>The department instance that provides the data for this tag.</description>
+                       <required>true</required>
+                       <type>org.mxchange.jcontactsbusiness.model.department.Department</type>
+               </attribute>
+               <attribute>
+                       <name>renderShowLink</name>
+                       <description>Whether to render (default: true) "show department" link.</description>
+                       <required>false</required>
+                       <type>java.langBoolean</type>
+               </attribute>
+               <attribute>
+                       <name>rendered</name>
+                       <description>Whether this tag is being rendered by JSF engine (default: true).</description>
+                       <required>false</required>
+                       <type>java.lang.Boolean</type>
+               </attribute>
+       </tag>
        <tag>
                <tag-name>outputCompanyEmployeeAdminMiniLinks</tag-name>
                <description>This tag renders administrative "mini-links" for given employee instance.</description>
@@ -216,6 +239,29 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
                        <type>java.lang.Boolean</type>
                </attribute>
        </tag>
+       <tag>
+               <tag-name>outputOpeningTimeAdminMiniLinks</tag-name>
+               <description>This tag renders administrative "mini-links" for given opening time instance.</description>
+               <source>resources/tags/admin/links/mini/opening_time/admin_opening_time_links.tpl</source>
+               <attribute>
+                       <name>openingTime</name>
+                       <description>The opening time instance that provides the data for this tag.</description>
+                       <required>true</required>
+                       <type>org.mxchange.jcontactsbusiness.model.opening_time.OpeningTimes</type>
+               </attribute>
+               <attribute>
+                       <name>renderShowLink</name>
+                       <description>Whether to render (default: true) "show opening time" link.</description>
+                       <required>false</required>
+                       <type>java.langBoolean</type>
+               </attribute>
+               <attribute>
+                       <name>rendered</name>
+                       <description>Whether this tag is being rendered by JSF engine (default: true).</description>
+                       <required>false</required>
+                       <type>java.lang.Boolean</type>
+               </attribute>
+       </tag>
        <tag>
                <tag-name>outputContactAdminMiniLinks</tag-name>
                <description>This tag renders administrative "mini-links" for given contact instance.</description>
diff --git a/web/WEB-INF/resources/tags/admin/links/mini/department/admin_department_links.tpl b/web/WEB-INF/resources/tags/admin/links/mini/department/admin_department_links.tpl
new file mode 100644 (file)
index 0000000..82e1145
--- /dev/null
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ui:composition
+       xmlns="http://www.w3.org/1999/xhtml"
+       xmlns:f="http://java.sun.com/jsf/core"
+       xmlns:h="http://java.sun.com/jsf/html"
+       xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
+       xmlns:p="http://primefaces.org/ui">
+
+       <ui:fragment rendered="#{empty rendered or rendered}">
+               <ul class="navbar-mini">
+                       <ui:fragment rendered="#{empty renderShowLink or renderShowLink}">
+                               <li class="navlink-mini">
+                                       <p:link outcome="admin_show_department" value="#{msg.ADMIN_LINK_SHOW_SHORT}" title="#{msg.ADMIN_LINK_SHOW_DEPARTMENT_TITLE}">
+                                               <f:param name="departmentId" value="#{department.departmentId}" />
+                                       </p:link>
+                               </li>
+                       </ui:fragment>
+
+                       <li class="navlink-mini">
+                               <p:link outcome="admin_edit_department" value="#{msg.ADMIN_LINK_EDIT_SHORT}" title="#{msg.ADMIN_LINK_EDIT_DEPARTMENT_TITLE}">
+                                       <f:param name="departmentId" value="#{department.departmentId}" />
+                               </p:link>
+                       </li>
+
+                       <li class="navlink-mini">
+                               <p:link outcome="admin_delete_department">
+                                       <h:outputText styleClass="link-danger" value="#{msg.ADMIN_LINK_DELETE_SHORT}" title="#{msg.ADMIN_LINK_DELETE_DEPARTMENT_TITLE}" />
+                                       <f:param name="departmentId" value="#{department.departmentId}" />
+                               </p:link>
+                       </li>
+               </ul>
+       </ui:fragment>
+</ui:composition>
diff --git a/web/WEB-INF/resources/tags/admin/links/mini/opening_time/admin_opening_time_links.tpl b/web/WEB-INF/resources/tags/admin/links/mini/opening_time/admin_opening_time_links.tpl
new file mode 100644 (file)
index 0000000..18c56c7
--- /dev/null
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ui:composition
+       xmlns="http://www.w3.org/1999/xhtml"
+       xmlns:f="http://java.sun.com/jsf/core"
+       xmlns:h="http://java.sun.com/jsf/html"
+       xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
+       xmlns:p="http://primefaces.org/ui">
+
+       <ui:fragment rendered="#{empty rendered or rendered}">
+               <ul class="navbar-mini">
+                       <ui:fragment rendered="#{empty renderShowLink or renderShowLink}">
+                               <li class="navlink-mini">
+                                       <p:link outcome="admin_show_opening_time" value="#{msg.ADMIN_LINK_SHOW_SHORT}" title="#{msg.ADMIN_LINK_SHOW_OPENING_TIME_TITLE}">
+                                               <f:param name="openingId" value="#{openingTime.openingId}" />
+                                       </p:link>
+                               </li>
+                       </ui:fragment>
+
+                       <li class="navlink-mini">
+                               <p:link outcome="admin_edit_opening_time" value="#{msg.ADMIN_LINK_EDIT_SHORT}" title="#{msg.ADMIN_LINK_EDIT_OPENING_TIME_TITLE}">
+                                       <f:param name="openingId" value="#{openingTime.openingId}" />
+                               </p:link>
+                       </li>
+
+                       <li class="navlink-mini">
+                               <p:link outcome="admin_delete_opening_time">
+                                       <h:outputText styleClass="link-danger" value="#{msg.ADMIN_LINK_DELETE_SHORT}" title="#{msg.ADMIN_LINK_DELETE_OPENING_TIME_TITLE}" />
+                                       <f:param name="openingId" value="#{openingTime.openingId}" />
+                               </p:link>
+                       </li>
+               </ul>
+       </ui:fragment>
+</ui:composition>
index 27d2c3dd88def9ab06f7c79171bac232087b6910..f73068142d579275f34d29c42e0be0c6a6385aec 100644 (file)
@@ -7,9 +7,9 @@
        xmlns:p="http://primefaces.org/ui">
 
        <p:panelGrid layout="grid" columns="3" rendered="#{empty rendered or rendered == true}">
-               <widgets:outputCountrySelector id="faxCountry" styleClass="select divider-right" value="#{targetController.faxCountry}" />
+               <widgets:outputCountrySelector id="faxCountry" styleClass="select" value="#{targetController.faxCountry}" />
 
-               <p:inputText styleClass="input divider-right" id="faxAreaCode" size="5" maxlength="10" value="#{targetController.faxAreaCode}">
+               <p:inputText styleClass="input" id="faxAreaCode" size="5" maxlength="10" value="#{targetController.faxAreaCode}">
                        <f:validator for="faxAreaCode" validatorId="PhoneNumberValidator" />
                </p:inputText>
 
index 945493b4a6c3ad47478362316b93fe44faf6b61d..517ebe42dfccf7a4a2b429ff2c681ba869ac9b52 100644 (file)
@@ -7,9 +7,9 @@
        xmlns:p="http://primefaces.org/ui">
 
        <p:panelGrid layout="grid" columns="3" rendered="#{empty rendered or rendered == true}">
-               <widgets:outputCountrySelector id="landLineCountry" styleClass="select divider-right" value="#{targetController.landLineCountry}" />
+               <widgets:outputCountrySelector id="landLineCountry" styleClass="select" value="#{targetController.landLineCountry}" />
 
-               <p:inputText styleClass="input divider-right" id="landLineAreaCode" size="5" maxlength="10" value="#{targetController.landLineAreaCode}">
+               <p:inputText styleClass="input" id="landLineAreaCode" size="5" maxlength="10" value="#{targetController.landLineAreaCode}">
                        <f:validator for="landLineAreaCode" validatorId="PhoneNumberValidator" />
                </p:inputText>
 
index 0240d37836cb7ffa8e10734e80d470a593375989..5d7bbcbadcc9acd2c934a205487f94d6d013f3d5 100644 (file)
@@ -10,8 +10,8 @@
                <p:outputLabel for="faxNumber" value="#{labelMessage}" />
 
                <p:column>
-                       <widgets:outputCountrySelector id="faxCountry" styleClass="select divider-right" value="#{targetController.faxCountry}" />
-                       <p:inputText styleClass="input divider-right" id="faxAreaCode" size="5" maxlength="10" value="#{targetController.faxAreaCode}">
+                       <widgets:outputCountrySelector id="faxCountry" styleClass="select" value="#{targetController.faxCountry}" />
+                       <p:inputText styleClass="input" id="faxAreaCode" size="5" maxlength="10" value="#{targetController.faxAreaCode}">
                                <f:validator validatorId="PhoneNumberValidator" />
                        </p:inputText>
                        <p:inputText styleClass="input" id="faxNumber" size="10" maxlength="20" value="#{targetController.faxNumber}">
index 262ab7ba0631dfb9a54eba92d687b12a9d297380..c61aac2138510b3deea74015fefcf3e2d6d47517 100644 (file)
@@ -10,8 +10,8 @@
                <p:outputLabel for="landLineNumber" value="#{labelMessage}" />
 
                <p:column>
-                       <widgets:outputCountrySelector id="landLineCountry" styleClass="select divider-right" value="#{targetController.landLineCountry}" />
-                       <p:inputText styleClass="input divider-right" id="landLineAreaCode" size="5" maxlength="10" value="#{targetController.landLineAreaCode}">
+                       <widgets:outputCountrySelector id="landLineCountry" styleClass="select" value="#{targetController.landLineCountry}" />
+                       <p:inputText styleClass="input" id="landLineAreaCode" size="5" maxlength="10" value="#{targetController.landLineAreaCode}">
                                <f:validator validatorId="PhoneNumberValidator" />
                        </p:inputText>
                        <p:inputText styleClass="input" id="landLineNumber" size="10" maxlength="20" value="#{targetController.landLineNumber}">
index dfdfde4f841ca00c40ca6197bb5cbef13e3d05e6..e5a3b6e94d947ecb6e53e6a7d28d0cb28e7454fd 100644 (file)
@@ -9,7 +9,7 @@
 
        <pm:footer id="footer" fixed="true" tapToggle="false">
                <ul class="navbar-horizontal">
-                       <li><p:link outcome="index" value="#{msg.ADMIN_LINK_FOOTER_TO_WEBPAGE}" /></li>
+                       <li><p:link outcome="index" value="#{msg.ADMIN_LINK_FOOTER_TO_WEBPAGE}" title="#{msg.ADMIN_LINK_FOOTER_TO_WEBPAGE_TITLE}" /></li>
                </ul>
        </pm:footer>
 </ui:composition>
index a356ca102936f81311150697acbaec99112a7855..778e60a760fc930999865ea9008013d7ac0e8918 100644 (file)
@@ -22,7 +22,7 @@
                                requiredMessage="#{msg.ADMIN_BRANCH_OFFICE_COMPANY_REQUIRED}"
                                >
                                <f:converter converterId="BasicCompanyDataConverter" />
-                               <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" noSelectionOption="true" itemDisabled="true" />
+                               <f:selectItem itemValue="#{null}" itemLabel="#{msg.PLEASE_SELECT}" noSelectionOption="true" itemDisabled="true" />
                                <f:selectItems value="#{basicCompanyDataController.allCompanyBasicData()}" var="basicData" itemValue="#{basicData}" itemLabel="#{basicData.companyName}" />
                        </p:selectOneMenu>
 
index 70ba78a7c564c7dced1c36073ab7084564dcc3cd..0fd48407f475bd2a95355f2ffd8e1be61d5ee367 100644 (file)
@@ -4,9 +4,14 @@
        xmlns:widgets="http://mxchange.org/jsf/core/widgets"
        xmlns:f="http://java.sun.com/jsf/core"
        xmlns:h="http://java.sun.com/jsf/html"
-       xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
+       xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
+       xmlns:p="http://primefaces.org/ui"
+       >
 
-       <p:panelGrid id="show_contact" summary="#{msg.ADMIN_TABLE_SUMMARY_SHOW_CONTACT_DATA}" headerClass="table-header-column" styleClass="table table-full" columns="3" rendered="#{not empty beanHelper.contact}">
+       <!--
+       @TOD summary="#{msg.ADMIN_TABLE_SUMMARY_SHOW_CONTACT_DATA}"
+       -->
+       <p:panelGrid id="show_contact" styleClass="table table-full" columns="3" rendered="#{not empty beanHelper.contact}">
                <f:facet name="header">
                        <h:outputFormat value="#{msg.ADMIN_HEADER_SHOW_CONTACT}">
                                <f:param value="#{beanHelper.contact.contactId}" />
diff --git a/web/WEB-INF/templates/admin/department/admin_form_department_data.tpl b/web/WEB-INF/templates/admin/department/admin_form_department_data.tpl
new file mode 100644 (file)
index 0000000..fb18bf8
--- /dev/null
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ui:composition
+       xmlns="http://www.w3.org/1999/xhtml"
+       xmlns:widgets="http://mxchange.org/jsf/core/widgets"
+       xmlns:f="http://xmlns.jcp.org/jsf/core"
+       xmlns:h="http://xmlns.jcp.org/jsf/html"
+       xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
+       xmlns:p="http://primefaces.org/ui">
+
+       <!--
+       @TODO: title="#{msg.ADMIN_DEPARTMENT_LEGEND_TITLE}"
+       -->
+       <p:fieldset legend="#{msg.ADMIN_DEPARTMENT_LEGEND}">
+               <p:panelGrid layout="grid" columns="2" columnClasses="ui-grid-col-4, ui-grid-col-8" styleClass="table table-full ui-noborder">
+                       <p:outputLabel for="departmentName" value="#{msg.ADMIN_ENTER_DEPARTMENT_NAME}" />
+                       <p:inputText styleClass="input" id="departmentName" size="2" maxlength="10" value="#{adminDepartmentController.departmentName}" required="true" requiredMessage="#{msg.ADMIN_DEPARTMENT_NAME_REQUIRED}" />
+
+                       <p:outputLabel for="departmentCompany" value="#{msg.ADMIN_ASSIGN_DEPARTMENT_COMPANY}" />
+                       <p:selectOneMenu
+                               id="departmentCompany"
+                               value="#{adminDepartmentController.departmentCompany}"
+                               filter="true"
+                               filterMatchMode="contains"
+                               required="true"
+                               requiredMessage="#{msg.ADMIN_DEPARTMENT_COMPANY_REQUIRED}"
+                               >
+                               <f:converter converterId="BasicCompanyDataConverter" />
+                               <f:selectItem itemValue="#{null}" itemLabel="#{msg.PLEASE_SELECT}" noSelectionOption="true" itemDisabled="true" />
+                               <f:selectItems value="#{basicCompanyDataController.allCompanyBasicData()}" var="basicData" itemValue="#{basicData}" itemLabel="#{basicData.companyName}" />
+                       </p:selectOneMenu>
+
+                       <p:outputLabel for="departmentBranchOffice" value="#{msg.ADMIN_ASSIGN_DEPARTMENT_BRANCH_OFFICE}" />
+                       <p:selectOneMenu
+                               id="departmentBranchOffice"
+                               value="#{adminDepartmentController.departmentBranchOffice}"
+                               filter="true"
+                               filterMatchMode="contains"
+                               >
+                               <f:converter converterId="BranchOfficeConverter" />
+                               <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
+                               <f:selectItems value="#{branchOfficeController.allBranchOffices()}" var="branchOffice" itemValue="#{branchOffice}" itemLabel="#{beanHelper.renderBranchOffice(branchOffice)}" />
+                       </p:selectOneMenu>
+
+                       <p:outputLabel for="departmentHeadquarters" value="#{msg.ADMIN_ASSIGN_DEPARTMENT_HEADQUARTERS}" />
+                       <p:selectOneMenu
+                               id="departmentHeadquarters"
+                               value="#{adminDepartmentController.departmentHeadquarters}"
+                               filter="true"
+                               filterMatchMode="contains"
+                               >
+                               <f:converter converterId="CompanyEmployeeConverter" />
+                               <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
+                               <f:selectItems value="#{headquartersController.allHeadquarters()}" var="headquarters" itemValue="#{headquarters}" itemLabel="#{beanHelper.renderHeadquarters(headquarters)}" />
+                       </p:selectOneMenu>
+
+                       <p:outputLabel for="departmentLead" value="#{msg.ADMIN_ASSIGN_DEPARTMENT_LEAD_EMPLOYEE}" />
+                       <p:selectOneMenu
+                               id="departmentLead"
+                               value="#{adminDepartmentController.departmentLead}"
+                               filter="true"
+                               filterMatchMode="contains"
+                               >
+                               <f:converter converterId="CompanyEmployeeConverter" />
+                               <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
+                               <f:selectItems value="#{companyEmployeeController.allCompanyEmployees()}" var="employee" itemValue="#{employee}" itemLabel="#{beanHelper.renderEmployee(employee)}" />
+                       </p:selectOneMenu>
+
+                       <p:outputLabel for="departmentUserOwner" value="#{msg.ADMIN_ASSIGN_DEPARTMENT_USER_OWNER}" />
+                       <p:selectOneMenu
+                               id="departmentUserOwner"
+                               value="#{adminDepartmentController.departmentUserOwner}"
+                               filter="true"
+                               filterMatchMode="contains"
+                               >
+                               <f:converter converterId="UserConverter" />
+                               <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
+                               <f:selectItems value="#{userController.allUsers()}" var="departmentUserOwner" itemValue="#{departmentUserOwner}" itemLabel="#{departmentUserOwner.userContact.contactFirstName} #{departmentUserOwner.userContact.contactFamilyName} (#{departmentUserOwner.userName})" />
+                       </p:selectOneMenu>
+               </p:panelGrid>
+       </p:fieldset>
+</ui:composition>
index 01164486efca3ed957d1fee2aaeb2bbaeb102890..2ebc40238eac0cc451431b20abe1e28b59dede82 100644 (file)
@@ -22,7 +22,7 @@
                                requiredMessage="#{msg.ADMIN_EMPLOYEE_COMPANY_REQUIRED}"
                                >
                                <f:converter converterId="BasicCompanyDataConverter" />
-                               <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" noSelectionOption="true" itemDisabled="true" />
+                               <f:selectItem itemValue="#{null}" itemLabel="#{msg.PLEASE_SELECT}" noSelectionOption="true" itemDisabled="true" />
                                <f:selectItems value="#{basicCompanyDataController.allCompanyBasicData()}" var="basicData" itemValue="#{basicData}" itemLabel="#{basicData.companyName}" />
                        </p:selectOneMenu>
 
@@ -34,7 +34,7 @@
                                filterMatchMode="contains"
                                >
                                <f:converter converterId="BranchOfficeConverter" />
-                               <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" noSelectionOption="true" itemDisabled="true" />
+                               <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
                                <f:selectItems value="#{branchOfficeController.allBranchOffices()}" var="branchOffice" itemValue="#{branchOffice}" itemLabel="#{beanHelper.renderBranchOffice(branchOffice)}" />
                        </p:selectOneMenu>
 
@@ -89,8 +89,8 @@
                                filterMatchMode="contains"
                                >
                                <f:converter converterId="CompanyDepartmentConverter" />
-                               <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" noSelectionOption="true" itemDisabled="true" />
-                               <f:selectItems value="#{companyDepartmentController.allDepartments()}" var="department" itemValue="#{department}" itemLabel="#{beanHelper.renderDepartment(department)}" />
+                               <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
+                               <f:selectItems value="#{departmentController.allDepartments()}" var="department" itemValue="#{department}" itemLabel="#{beanHelper.renderDepartment(department)}" />
                        </p:selectOneMenu>
 
                        <p:outputLabel for="employeeHeadquarters" value="#{msg.ADMIN_ASSIGN_EMPLOYEE_HEADQUARTERS}" />
                                filterMatchMode="contains"
                                >
                                <f:converter converterId="CompanyHeadquartersConverter" />
-                               <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" noSelectionOption="true" itemDisabled="true" />
+                               <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
                                <f:selectItems value="#{companyHeadquartersController.allHeadquarterss()}" var="headquarters" itemValue="#{headquarters}" itemLabel="#{beanHelper.renderHeadquarters(headquarters)}" />
                        </p:selectOneMenu>
 
index c5f81e08767747afebe5bedf8b29272dfb7c92c6..671722d54ed44a5f85699523ed3af5f72df91f01 100644 (file)
@@ -25,7 +25,7 @@
                                </div>
 
                                <div class="table-right-medium">
-                                       <p:selectOneMenu styleClass="select divider-right" id=" " value="#{adminPhoneController.faxNumber}">
+                                       <p:selectOneMenu styleClass="select" id=" " value="#{adminPhoneController.faxNumber}">
                                                <f:converter converterId="FaxNumberConverter" />
                                                <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
                                                <f:selectItems value="#{adminPhoneController.allNonLinkedFaxNumbers()}" var="faxNumber" itemValue="#{faxNumber}" itemLabel="#{faxNumber.phoneCountry.countryExternalDialPrefix} (#{faxNumber.phoneAreaCode}) #{faxNumber.phoneNumber}" />
@@ -40,7 +40,7 @@
                        <widgets:outputFaxInputTableRow targetController="#{adminContactPhoneController}" labelMessage="#{msg.ADMIN_PERSONAL_DATA_FAX_NUMBER}" />
 
                        <div class="table-footer">
-                               <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                               <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
 
                                <p:commandButton styleClass="submit" id="submit_add_link_contact_fax" type="submit" action="#{adminContactPhoneController.doLinkMainFaxNumber()}" value="#{msg.BUTTON_ADMIN_LINK_ADD_CONTACT_FAX_NUMBER}" />
                        </div>
index fbf14e51b784839089d7918ff0ad1bfdd9cf2a88..f10105467c65f49414c25764fe0e1a330bd0adda 100644 (file)
@@ -25,7 +25,7 @@
                                </div>
 
                                <div class="table-right-medium">
-                                       <p:selectOneMenu styleClass="select divider-right" id="landLineNumber" value="#{adminPhoneController.landLineNumber}">
+                                       <p:selectOneMenu styleClass="select" id="landLineNumber" value="#{adminPhoneController.landLineNumber}">
                                                <f:converter converterId="LandLineNumberConverter" />
                                                <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
                                                <f:selectItems value="#{adminPhoneController.allNonLinkedLandLineNumbers()}" var="landlineNumber" itemValue="#{landlineNumber}" itemLabel="#{landlineNumber.phoneCountry.countryExternalDialPrefix} (#{landlineNumber.phoneAreaCode}) #{landlineNumber.phoneNumber}" />
@@ -40,7 +40,7 @@
                        <widgets:outputLandLineInputTableRow targetController="#{adminPhoneController}" labelMessage="#{msg.ADMIN_PERSONAL_DATA_LAND_LINE_NUMBER}" />
 
                        <div class="table-footer">
-                               <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                               <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
 
                                <p:commandButton styleClass="submit" id="submit_add_link_contact_landline" type="submit" action="#{adminContactPhoneController.doLinkAddLandLineNumber(beanHelper.contact)}" value="#{msg.BUTTON_ADMIN_LINK_ADD_CONTACT_LAND_LINE_NUMBER}">
                                        <f:param name="contactId" value="#{param.contactId}" />
index 72b6d38c305943f7c98a0d38dc0c92a2c868c301..ae82b71c9d8ee8dec3ae65973098e2f2c5da3661 100644 (file)
@@ -25,7 +25,7 @@
                                </div>
 
                                <div class="table-right-medium">
-                                       <p:selectOneMenu styleClass="select divider-right" id="mobileNumber" value="#{adminPhoneController.mobileNumber}">
+                                       <p:selectOneMenu styleClass="select" id="mobileNumber" value="#{adminPhoneController.mobileNumber}">
                                                <f:converter converterId="MobileNumberConverter" />
                                                <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
                                                <f:selectItems value="#{adminPhoneController.allNonLinkedMobileNumbers()}" var="mobileNumber" itemValue="#{mobileNumber}" itemLabel="#{mobileNumber.mobileProvider.providerCountry.countryExternalDialPrefix} (#{mobileNumber.mobileProvider.providerDialPrefix}) #{mobileNumber.phoneNumber}" />
                                <h:outputText value="#{msg.ADMIN_OR_ENTER_CONTACT_NEW_MOBILE_DATA}" />
                        </div>
 
-                       <widgets:inputMobileNumberPanelGrid targetController="#{adminPhoneController}" labelMessage="#{msg.ADMIN_PERSONAL_DATA_MOBILE_NUMBER}" />
+                       <p:outputLabel for="mobileNumber" value="#{msg.ADMIN_PERSONAL_DATA_MOBILE_NUMBER}" />
+                       <widgets:inputMobileNumberPanelGrid targetController="#{adminPhoneController}" />
 
                        <div class="table-footer">
-                               <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                               <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
 
                                <p:commandButton styleClass="submit" id="submit_add_link_contact_mobile" type="submit" action="#{adminContactPhoneController.doLinkAddMobileNumber(beanHelper.contact)}" value="#{msg.BUTTON_ADMIN_LINK_ADD_CONTACT_MOBILE_NUMBER}">
                                        <f:param name="contactId" value="#{param.contactId}" />
diff --git a/web/WEB-INF/templates/admin/opening_time/admin_form_opening_time.tpl b/web/WEB-INF/templates/admin/opening_time/admin_form_opening_time.tpl
new file mode 100644 (file)
index 0000000..36242a1
--- /dev/null
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ui:composition
+       xmlns="http://www.w3.org/1999/xhtml"
+       xmlns:widgets="http://mxchange.org/jsf/core/widgets"
+       xmlns:f="http://xmlns.jcp.org/jsf/core"
+       xmlns:h="http://xmlns.jcp.org/jsf/html"
+       xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
+       xmlns:p="http://primefaces.org/ui">
+
+       <!--
+       @TODO: title="#{msg.ADMIN_OPENING_TIME_LEGEND_TITLE}"
+       -->
+       <p:fieldset legend="#{msg.ADMIN_OPENING_TIME_LEGEND}">
+               <p:panelGrid layout="grid" columns="4" columnClasses="ui-grid-col-4, ui-grid-col-8" styleClass="table table-full ui-noborder">
+                       <p:outputLabel for="openingStartDay" value="#{msg.ADMIN_START_WEEK_DAY}" />
+                       <p:outputLabel for="openingEndDay" value="#{msg.ADMIN_END_WEEK_DAY}" />
+                       <p:outputLabel for="openingStartTime" value="#{msg.ADMIN_START_TIME}" />
+                       <p:outputLabel for="openingEndTime" value="#{msg.ADMIN_END_TIME}" />
+
+                       <p:selectOneMenu
+                               id="openingStartDay"
+                               value="#{adminOpeningTimeController.openingStartDay}"
+                               filter="true"
+                               filterMatchMode="contains"
+                               required="true"
+                               requiredMessage="#{msg.ADMIN_START_WEEK_DAY_REQUIRED}"
+                               >
+                               <f:converter converterId="DayOfTheWeekConverter" />
+                               <f:selectItem itemValue="#{null}" itemLabel="#{msg.PLEASE_SELECT}" noSelectionOption="true" itemDisabled="true" />
+                               <f:selectItems value="#{dataController.dayOfTheWeek}" var="dayOfWeek" itemValue="#{dayOfWeek}" itemLabel="#{dayOfWeek.toString()}" />
+                       </p:selectOneMenu>
+
+                       <p:selectOneMenu
+                               id="openingEndDay"
+                               value="#{adminOpeningTimeController.openingEndDay}"
+                               filter="true"
+                               filterMatchMode="contains"
+                               required="true"
+                               requiredMessage="#{msg.ADMIN_END_WEEK_DAY_REQUIRED}"
+                               >
+                               <f:converter converterId="DayOfTheWeekConverter" />
+                               <f:selectItem itemValue="#{null}" itemLabel="#{msg.PLEASE_SELECT}" noSelectionOption="true" itemDisabled="true" />
+                               <f:selectItems value="#{dataController.dayOfTheWeek}" var="dayOfWeek" itemValue="#{dayOfWeek}" itemLabel="#{dayOfWeek.toString()}" />
+                       </p:selectOneMenu>
+
+                       <p:calendar
+                               id="openingStartTime"
+                               value="#{adminOpeningTimeController.openingStartTime}"
+                               pattern="HH:mm"
+                               timeOnly="true"
+                               required="true"
+                               stepMinute="5"
+                               requiredMessage="#{msg.ADMIN_START_TIME_REQUIRED}"
+                               />
+
+                       <p:calendar
+                               id="openingEndTime"
+                               value="#{adminOpeningTimeController.openingEndTime}"
+                               pattern="HH:mm"
+                               timeOnly="true"
+                               required="true"
+                               stepMinute="5"
+                               requiredMessage="#{msg.ADMIN_END_TIME_REQUIRED}"
+                               />
+               </p:panelGrid>
+       </p:fieldset>
+</ui:composition>
index f25b069ea21282d1a5e5dd57d4b851a264953497..e8be8af918338db32d96fcc32917263be5b5f45b 100644 (file)
                                </div>
 
                                <div class="table-right-medium">
-                                       <p:calendar id="birthday" value="#{contactController.birthday}" required="true" requiredMessage="#{msg.GUEST_CONTACT_DATA_BIRTHDAY_REQUIRED}" />
+                                       <p:calendar
+                                               id="birthday"
+                                               value="#{contactController.birthday}"
+                                               required="true"
+                                               requiredMessage="#{msg.GUEST_CONTACT_DATA_BIRTHDAY_REQUIRED}"
+                                               />
                                </div>
                        </h:panelGroup>
 
                                </div>
 
                                <div class="table-right-medium">
-                                       <widgets:outputCountrySelector styleClass="select divider-right" id="landLineCountry" value="#{contactController.landLineCountry}" />
+                                       <widgets:outputCountrySelector styleClass="select" id="landLineCountry" value="#{contactController.landLineCountry}" />
 
-                                       <p:inputText styleClass="input divider-right" id="landLineAreaCode" size="5" maxlength="10" value="#{contactController.landLineAreaCode}">
+                                       <p:inputText styleClass="input" id="landLineAreaCode" size="5" maxlength="10" value="#{contactController.landLineAreaCode}">
                                                <f:validator validatorId="PhoneNumberValidator" />
                                        </p:inputText>
 
                                </div>
 
                                <div class="table-right-medium">
-                                       <widgets:outputCountrySelector styleClass="select divider-right" id="faxCountry" value="#{contactController.faxCountry}" />
+                                       <widgets:outputCountrySelector styleClass="select" id="faxCountry" value="#{contactController.faxCountry}" />
 
-                                       <p:inputText styleClass="input divider-right" id="faxAreaCode" size="5" maxlength="10" value="#{contactController.faxAreaCode}">
+                                       <p:inputText styleClass="input" id="faxAreaCode" size="5" maxlength="10" value="#{contactController.faxAreaCode}">
                                                <f:validator for="faxAreaCode" validatorId="PhoneNumberValidator" />
                                        </p:inputText>
 
                                <p:message for="faxNumber" />
                        </h:panelGroup>
 
-                       <widgets:inputMobileNumberPanelGrid targetController="#{contactController}" labelMessage="#{msg.PERSONAL_DATA_MOBILE_NUMBER}" />
+                       <p:outputLabel for="mobileNumber" value="#{msg.PERSONAL_DATA_MOBILE_NUMBER}" />
+                       <widgets:inputMobileNumberPanelGrid targetController="#{contactController}" />
                </fieldset>
        </h:panelGroup>
 
index 185c785acdd7edc36c6999bd09c3652486297f95..01c94d24cd96f97750c35e44ade70e98150ab506 100644 (file)
@@ -48,7 +48,7 @@
                                </fieldset>
 
                                <div class="table-footer">
-                                       <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                                       <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
                                        <p:commandButton styleClass="submit" type="submit" action="#{userLoginController.doUserLogin()}" value="#{msg.BUTTON_USER_LOGIN}" />
                                </div>
                        </h:panelGroup>
index 392136e20acec6e4463c2122f0f5ef95b6e3aa34..1f1bb430144a385c53eca6979dd1e2c1541dc510 100644 (file)
@@ -85,7 +85,7 @@
                        <ui:include src="/WEB-INF/templates/guest/guest_privacy_terms.tpl" />
 
                        <div class="table-footer">
-                               <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                               <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
                                <p:commandButton styleClass="submit" type="submit" id="submit_continue_register_page1" value="#{msg.BUTTON_CONTINUE_REGISTER_PAGE2}" action="#{userRegistrationController.doRegisterMultiPage1()}" />
                        </div>
                </h:panelGroup>
index 0286393a91319b08e4888122530f2b18c3e2c7d2..f1a04346d1403de629aab06660d92ee9ce4b12d4 100644 (file)
@@ -15,7 +15,7 @@
                        <ui:include src="/WEB-INF/templates/contact/form_contact_data.tpl" />
 
                        <div class="table-footer">
-                               <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                               <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
                                <p:commandButton styleClass="submit" type="submit" value="#{msg.BUTTON_FINISH_REGISTRATION}" action="#{userRegistrationController.doFinishRegistration()}" />
                        </div>
                </h:panelGroup>
index 711fd8fa9813d390bd4e1f97db136d6b9eabbd78..924a5103252a7b49ebf9a2344d7b22d82ac0f800 100644 (file)
@@ -89,7 +89,7 @@
                        <ui:include src="/WEB-INF/templates/guest/guest_privacy_terms.tpl" />
 
                        <div class="table-footer">
-                               <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                               <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
                                <p:commandButton styleClass="submit" type="submit" id="submit_finish_registration_single" value="#{msg.BUTTON_FINISH_REGISTRATION}" action="#{userRegistrationController.doFinishRegistration()}" />
                        </div>
                </h:panelGroup>
index 1bb9a2ac49e3f87dac5fc476c68b875a1e422ae9..e3059b2c870177583ea3a2acaabd53f62db7a46b 100644 (file)
                                rowsPerPageTemplate="5,10,20,50,100"
                                sortMode="multiple"
                                summary="#{msg.TABLE_SUMMARY_ADMIN_LIST_BASIC_COMPANY_DATA}"
-                               emptyMessage="#{msg.ADMIN_BASIC_COMPANY_DATA_LIST_EMPTY}"
+                               emptyMessage="#{msg.ADMIN__EMPTY_LISTBASIC_COMPANY_DATA}"
                                widgetVar="basicDataList"
                                >
 
                                <f:facet name="header">
-                                       <p:row>
-                                               <p:column>
-                                                       <h:outputText value="#{msg.ADMIN_LIST_BASIC_COMPANY_DATA_HEADER}" />
-                                               </p:column>
+                                       <p:panelGrid columns="2" columnClasses="ui-grid-col-10, ui-grid-col-2" layout="grid" styleClass="ui-noborder ui-transparent-widget">
+                                               <h:outputText value="#{msg.ADMIN_LIST_BASIC_COMPANY_DATA_HEADER}" />
 
-                                               <p:column>
+                                               <h:panelGroup>
                                                        <p:commandButton id="toggler" type="button" value="#{msg.SELECT_SHOWN_COLUMNS}" styleClass="column-selector" />
                                                        <p:columnToggler datasource="table-list-basic-company-data" trigger="toggler" />
-                                               </p:column>
-                                       </p:row>
+                                               </h:panelGroup>
+                                       </p:panelGrid>
                                </f:facet>
 
                                <p:column headerText="#{msg.ADMIN_BASIC_COMPANY_DATA_ID}" sortBy="#{basicData.basicDataId}" filterable="false">
                                                </p:selectCheckboxMenu>
                                        </f:facet>
 
-                                       <p:link outcome="admin_show_business_employee" title="#{msg.ADMIN_LINK_SHOW_BASIC_COMPANY_DATA_CONTACT_PERSON_TITLE}" value="#{basicData.companyContactEmployee.employeeId}" rendered="#{not empty basicData.companyContactEmployee}">
+                                       <p:link outcome="admin_show_employee" title="#{msg.ADMIN_LINK_SHOW_BASIC_COMPANY_DATA_CONTACT_PERSON_TITLE}" value="#{basicData.companyContactEmployee.employeeId}" rendered="#{not empty basicData.companyContactEmployee}">
                                                <f:param name="employeeId" value="#{basicData.companyContactEmployee.employeeId}" />
                                        </p:link>
 
                                                </p:selectCheckboxMenu>
                                        </f:facet>
 
-                                       <p:link outcome="admin_show_business_employee" title="#{msg.ADMIN_LINK_SHOW_BASIC_COMPANY_DATA_COMPANY_FOUNDER_TITLE}" value="#{basicData.companyFounder.employeeId}" rendered="#{not empty basicData.companyFounder}">
+                                       <p:link outcome="admin_show_employee" title="#{msg.ADMIN_LINK_SHOW_BASIC_COMPANY_DATA_COMPANY_FOUNDER_TITLE}" value="#{basicData.companyFounder.employeeId}" rendered="#{not empty basicData.companyFounder}">
                                                <f:param name="employeeId" value="#{basicData.companyFounder.employeeId}" />
                                        </p:link>
 
                        </p:dataTable>
                </h:form>
 
-               <h:form id="form-admin-add-basic-company-data">
+               <h:form>
                        <p:panelGrid columns="1" styleClass="table table-full" layout="grid">
                                <f:facet name="header">
                                        <h:outputText value="#{msg.ADMIN_ADD_BASIC_COMPANY_DATA_TITLE}" />
                                <f:facet name="footer">
                                        <p:panelGrid columns="2" layout="grid">
                                                <p:commandButton
-                                                       styleClass="reset divider-right"
+                                                       styleClass="reset"
                                                        type="reset"
                                                        value="#{msg.BUTTON_RESET_FORM}"
                                                        />
index 8d474b63466e386e362591546e8792340d329056..1b0fca22400dcdc80bcde1ad33d386208ff8cd4b 100644 (file)
                                rowsPerPageTemplate="5,10,20,50,100"
                                sortMode="multiple"
                                summary="#{msg.TABLE_SUMMARY_ADMIN_LIST_BRANCH_OFFICES}"
-                               emptyMessage="#{msg.ADMIN_BRANCH_OFFICES_LIST_EMPTY}"
+                               emptyMessage="#{msg.ADMIN_EMPTY_LIST_BRANCH_OFFICES}"
                                widgetVar="branchOfficeList"
                                >
 
                                <f:facet name="header">
-                                       <p:row>
-                                               <p:column>
-                                                       <h:outputText value="#{msg.ADMIN_LIST_BRANCH_OFFICES_HEADER}" />
-                                               </p:column>
+                                       <p:panelGrid columns="2" columnClasses="ui-grid-col-10, ui-grid-col-2" layout="grid" styleClass="ui-noborder ui-transparent-widget">
+                                               <h:outputText value="#{msg.ADMIN_LIST_BRANCH_OFFICES_HEADER}" />
 
-                                               <p:column>
+                                               <h:panelGroup>
                                                        <p:commandButton id="toggler" type="button" value="#{msg.SELECT_SHOWN_COLUMNS}" styleClass="column-selector" />
                                                        <p:columnToggler datasource="table-list-branch-offices" trigger="toggler" />
-                                               </p:column>
-                                       </p:row>
+                                               </h:panelGroup>
+                                       </p:panelGrid>
                                </f:facet>
 
                                <p:column headerText="#{msg.ADMIN_ID_NUMBER}" sortBy="#{branchOffice.branchId}" filterable="false">
 
                                <p:column headerText="#{msg.ADMIN_BASIC_COMPANY_DATA_COMPANY_NAME}" sortBy="#{branchOffice.branchCompany.companyName}" filterBy="#{branchOffice.branchCompany}" filterMatchMode="in">
                                        <f:facet name="filter">
-                                               <p:selectCheckboxMenu filter="true" filterMatchMode="contains" label="#{msg.LABEL_COMPANIES}" onchange="PF('branchOfficeTable').filter()" updateLabel="true" title="#{msg.FILTER_BY_MULTIPLE_COMPANIES_TITLE}">
+                                               <p:selectCheckboxMenu
+                                                       filter="true"
+                                                       filterMatchMode="contains"
+                                                       label="#{msg.LABEL_COMPANIES}"
+                                                       onchange="PF('branchOfficeList').filter()"
+                                                       updateLabel="true"
+                                                       title="#{msg.FILTER_BY_MULTIPLE_COMPANIES_TITLE}"
+                                                       >
                                                        <f:converter converterId="BasicCompanyDataConverter" />
                                                        <f:selectItems value="#{basicCompanyDataController.allCompanyBasicData()}" var="basicData" itemValue="#{basicData}" itemLabel="#{basicData.companyName}" />
                                                </p:selectCheckboxMenu>
                                        <h:outputText value="#{branchOffice.branchZipCode} #{branchOffice.branchCity}" title="#{branchOffice.branchStreet} #{branchOffice.branchHouseNumber} (#{msg.DATA_STORE} #{branchOffice.branchStore}, #{msg.DATA_SUITE_NUMBER} #{branchOffice.branchSuiteNumber})" />
                                </p:column>
 
-                               <p:column headerText="#{msg.ADMIN_CONTACT_PERSON}" sortBy="#{branchOffice.branchContactEmployee.employeePersonalData.contactFamilyName}" filterBy="#{branchOffice.branchContactEmployee}" filterMatchMode="in">
+                               <p:column headerText="#{msg.ADMIN_CONTACT_PERSON}" sortBy="#{branchOffice.branchContactEmployee.employeePersonalData}" filterBy="#{branchOffice.branchContactEmployee}" filterMatchMode="in">
                                        <f:facet name="filter">
-                                               <p:selectCheckboxMenu filter="true" filterMatchMode="contains" label="#{msg.LABEL_EMPLOYEES}" onchange="PF('branchOfficeTable').filter()" updateLabel="true" title="#{msg.FILTER_BY_MULTIPLE_EMPLOYEES_TITLE}">
+                                               <p:selectCheckboxMenu
+                                                       filter="true"
+                                                       filterMatchMode="contains"
+                                                       label="#{msg.LABEL_EMPLOYEES}"
+                                                       onchange="PF('branchOfficeList').filter()"
+                                                       updateLabel="true"
+                                                       title="#{msg.FILTER_BY_MULTIPLE_EMPLOYEES_TITLE}"
+                                                       >
                                                        <f:converter converterId="CompanyEmployeeConverter" />
                                                        <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
-                                                       <f:selectItems value="#{companyEmployeeController.allCompanyEmployees()}" var="employee" itemValue="#{employee}" itemLabel="#{employee.employeePersonalData.contactFirstName} #{employee.employeePersonalData.contactFamilyName}" />
+                                                       <f:selectItems value="#{companyEmployeeController.allCompanyEmployees()}" var="employee" itemValue="#{employee}" itemLabel="#{beanHelper.renderEmployee(employee)}" />
                                                </p:selectCheckboxMenu>
                                        </f:facet>
 
-                                       <p:link outcome="admin_show_business_employee" title="#{msg.ADMIN_LINK_SHOW_BRANCH_OFFICE_CONTACT_PERSON_TITLE}" value="#{branchOffice.branchContactEmployee.employeeId}" rendered="#{not empty branchOffice.branchContactEmployee}">
+                                       <p:link outcome="admin_show_employee" title="#{msg.ADMIN_LINK_SHOW_BRANCH_OFFICE_CONTACT_PERSON_TITLE}" value="#{branchOffice.branchContactEmployee.employeeId}" rendered="#{not empty branchOffice.branchContactEmployee}">
                                                <f:param name="employeeId" value="#{branchOffice.branchContactEmployee.employeeId}" />
                                        </p:link>
 
                        </p:dataTable>
                </h:form>
 
-               <h:form id="form-admin-add-branch-office">
+               <h:form>
                        <p:panelGrid columns="1" styleClass="table table-full" layout="grid">
                                <f:facet name="header">
                                        <h:outputText value="#{msg.ADMIN_ADD_BRANCH_OFFICE_TITLE}" />
                                <f:facet name="footer">
                                        <p:panelGrid columns="2" layout="grid">
                                                <p:commandButton
-                                                       styleClass="reset divider-right"
+                                                       styleClass="reset"
                                                        type="reset"
                                                        value="#{msg.BUTTON_RESET_FORM}"
                                                        />
index 2be5d7ff0aac0f56b1ef82f4a7286b5fed2ddf07..ead8fde499a25d804ebf710f044791107f3dd9db 100644 (file)
@@ -40,7 +40,7 @@
                                <ui:include src="/WEB-INF/templates/admin/contact/admin_show_contact_data.tpl" />
 
                                <div class="table-footer">
-                                       <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                                       <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
                                        <p:commandButton styleClass="button-danger" type="submit" id="submit_delete_contact" value="#{msg.BUTTON_ADMIN_DELETE_CONTACT}" action="#{adminContactController.deleteContactData()}" />
                                </div>
                        </h:panelGroup>
index 11692efc90df7c987b71a63d5c2592ed142b47ce..ddae0a2fc8288220d7f8b4b9a5bed8d60260217d 100644 (file)
@@ -40,7 +40,7 @@
                                <widgets:outputAdminContactDataFormFields />
 
                                <div class="table-footer">
-                                       <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                                       <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
                                        <p:commandButton styleClass="submit" type="submit" id="submit_edit_contact" value="#{msg.BUTTON_ADMIN_EDIT_CONTACT}" action="#{adminContactController.editContactData()}" />
                                </div>
                        </h:panelGroup>
index d4fac88e7d77f200c6adffdc1fb020d6d575af94..3b506de80eec085e48c3414c2a4bc26782e84c91 100644 (file)
 
        <ui:define name="content">
                <h:form id="form_export_contacts" rendered="#{not contactController.allContacts().isEmpty()}">
-                       <p:dataTable id="table_export_contacts" var="contact" value="#{contactController.allContacts()}" tableStyleClass="table table-full" paginator="true" rows="10" emptyMessage="#{msg.ADMIN_CONTACT_LIST_EMPTY}" summary="#{msg.TABLE_SUMMARY_ADMIN_EXPORT_CONTACT}">
+                       <p:dataTable
+                               id="table_export_contacts"
+                               var="contact"
+                               value="#{contactController.allContacts()}"
+                               tableStyleClass="table table-full"
+                               paginator="true"
+                               rows="10"
+                               emptyMessage="#{msg.ADMIN_EMPTY_LIST_CONTACT}"
+                               summary="#{msg.TABLE_SUMMARY_ADMIN_EXPORT_CONTACT}"
+                               >
                                <p:column exportable="false">
                                        <f:facet name="header">
                                                <h:outputText value="#{msg.ADMIN_EXPORT_CONTACT_ID}" />
index 6ca9c35761a1c24df95208f11e0515969cc0bda5..a4f8f2779d76216ab99ec84517f96b6c31520b29 100644 (file)
@@ -26,7 +26,7 @@
                                paginator="true"
                                rows="10"
                                summary="#{msg.TABLE_SUMMARY_ADMIN_LIST_CONTACT}"
-                               emptyMessage="#{msg.ADMIN_CONTACT_LIST_EMPTY}"
+                               emptyMessage="#{msg.ADMIN_EMPTY_LIST_CONTACT}"
                                widgetVar="contactList"
                                >
                                <p:column>
@@ -91,7 +91,7 @@
                        </p:dataTable>
                </h:form>
 
-               <h:form id="form-admin-add-contact">
+               <h:form>
                        <p:panelGrid layout="grid" columns="1" styleClass="table table-full">
                                <f:facet name="header">
                                        <h:outputText value="#{msg.ADMIN_ADD_CONTACT_TITLE}" />
 
                                <f:facet name="footer">
                                        <p:commandButton
-                                               styleClass="reset divider-right"
+                                               styleClass="reset"
                                                type="reset"
                                                value="#{msg.BUTTON_RESET_FORM}"
                                                />
index cf21667f5dcb64579d7a02a8fc2dd2d802f8fbb4..f74bb0808ba76e940bdd4e42e8f1731fbc7696f6 100644 (file)
@@ -25,7 +25,7 @@
                                paginator="true"
                                rows="10"
                                summary="#{msg.TABLE_SUMMARY_ADMIN_LIST_COUNTRIES}"
-                               emptyMessage="#{msg.ADMIN_COUNTRY_LIST_EMPTY}"
+                               emptyMessage="#{msg.ADMIN_EMPTY_LIST_COUNTRY}"
                                widgetVar="countryList"
                                >
                                <p:column>
@@ -82,7 +82,7 @@
 
                                <div class="table-footer">
                                        <p:commandButton
-                                               styleClass="reset divider-right"
+                                               styleClass="reset"
                                                type="reset"
                                                value="#{msg.BUTTON_RESET_FORM}"
                                                />
diff --git a/web/admin/department/admin_department_list.xhtml b/web/admin/department/admin_department_list.xhtml
new file mode 100644 (file)
index 0000000..dfe8a96
--- /dev/null
@@ -0,0 +1,201 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ui:composition template="/WEB-INF/templates/admin/admin_base.tpl"
+                               xmlns="http://www.w3.org/1999/xhtml"
+                               xmlns:widgets="http://mxchange.org/jsf/core/widgets"
+                               xmlns:links="http://mxchange.org/jsf/core/links"
+                               xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
+                               xmlns:h="http://xmlns.jcp.org/jsf/html"
+                               xmlns:f="http://xmlns.jcp.org/jsf/core"
+                               xmlns:p="http://primefaces.org/ui">
+
+       <ui:define name="document_admin_title">
+               <h:outputText value="#{msg.PAGE_TITLE_ADMIN_LIST_DEPARTMENTS}" />
+       </ui:define>
+
+       <ui:define name="content_header">
+               <h:outputText value="#{msg.CONTENT_TITLE_ADMIN_LIST_DEPARTMENTS}" />
+       </ui:define>
+
+       <ui:define name="content">
+               <h:form id="form-list-department">
+                       <p:dataTable
+                               id="table-list-department"
+                               var="department"
+                               value="#{departmentController.allDepartments()}"
+                               tableStyleClass="table table-full"
+                               paginator="true"
+                               paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
+                               filteredValue="#{departmentController.filteredDepartments}"
+                               rows="10"
+                               reflow="true"
+                               resizableColumns="true"
+                               rowsPerPageTemplate="5,10,20,50,100"
+                               sortMode="multiple"
+                               summary="#{msg.TABLE_SUMMARY_ADMIN_LIST_DEPARTMENTS}"
+                               emptyMessage="#{msg.ADMIN_EMPTY_LIST_DEPARTMENTS}"
+                               widgetVar="departmentList"
+                               >
+
+                               <f:facet name="header">
+                                       <p:panelGrid columns="2" columnClasses="ui-grid-col-10, ui-grid-col-2" layout="grid" styleClass="ui-noborder ui-transparent-widget">
+                                               <h:outputText value="#{msg.ADMIN_LIST_DEPARTMENTS_HEADER}" />
+
+                                               <h:panelGroup>
+                                                       <p:commandButton id="toggler" type="button" value="#{msg.SELECT_SHOWN_COLUMNS}" styleClass="column-selector" />
+                                                       <p:columnToggler datasource="table-list-department" trigger="toggler" />
+                                               </h:panelGroup>
+                                       </p:panelGrid>
+                               </f:facet>
+
+                               <p:column headerText="#{msg.ADMIN_ID_NUMBER}" sortBy="#{department.departmentId}" filterable="false">
+                                       <p:link outcome="admin_show_department" title="#{msg.ADMIN_LINK_SHOW_DEPARTMENT_TITLE}" value="#{department.departmentId}">
+                                               <f:param name="departmentId" value="#{department.departmentId}" />
+                                       </p:link>
+                               </p:column>
+
+                               <p:column headerText="#{msg.ADMIN_DEPARTMENT_NAME}" sortBy="#{department.departmentName}" filterBy="#{department.departmentName}" filterMatchMode="contains">
+                                       <h:outputText value="#{department.departmentName}" />
+                               </p:column>
+
+                               <p:column headerText="#{msg.ADMIN_BASIC_COMPANY_DATA_COMPANY_NAME}" sortBy="#{department.departmentCompany.companyName}" filterBy="#{department.departmentCompany}" filterMatchMode="in">
+                                       <f:facet name="filter">
+                                               <p:selectCheckboxMenu
+                                                       filter="true"
+                                                       filterMatchMode="contains"
+                                                       label="#{msg.LABEL_COMPANIES}"
+                                                       onchange="PF('departmentList').filter()"
+                                                       updateLabel="true"
+                                                       title="#{msg.FILTER_BY_MULTIPLE_COMPANIES_TITLE}"
+                                                       >
+                                                       <f:converter converterId="BasicCompanyDataConverter" />
+                                                       <f:selectItems value="#{basicCompanyDataController.allCompanyBasicData()}" var="basicData" itemValue="#{basicData}" itemLabel="#{basicData.companyName}" />
+                                               </p:selectCheckboxMenu>
+                                       </f:facet>
+
+                                       <h:outputLink value="#{department.departmentCompany.companyWebsiteUrl}" target="_blank" title="#{msg.LINK_COMPANY_WEBSITE_URL_TITLE}" rel="external" rendered="#{not empty department.departmentCompany.companyWebsiteUrl}">
+                                               <h:outputText value="#{department.departmentCompany.companyName}" />
+                                       </h:outputLink>
+
+                                       <h:outputText value="#{department.departmentCompany.companyName}" title="#{msg.NO_WEBSITE_URL_ENTERED}" rendered="#{empty department.departmentCompany.companyWebsiteUrl}" />
+                               </p:column>
+
+                               <p:column headerText="#{msg.ADMIN_ASSIGNED_BRANCH_OFFICE}" sortBy="#{department.departmentBranchOffice}" filterBy="#{department.departmentBranchOffice}" filterMatchMode="in">
+                                       <f:facet name="filter">
+                                               <p:selectCheckboxMenu
+                                                       filter="true"
+                                                       filterMatchMode="contains"
+                                                       label="#{msg.LABEL_BRANCH_OFFICES}"
+                                                       onchange="PF('employeeList').filter()"
+                                                       updateLabel="true"
+                                                       title="#{msg.FILTER_BY_MULTIPLE_EMPLOYEES_TITLE}"
+                                                       >
+                                                       <f:converter converterId="BranchOfficeConverter" />
+                                                       <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
+                                                       <f:selectItems value="#{branchOfficeController.allBranchOffices()}" var="branchOffice" itemValue="#{branchOffice}" itemLabel="#{beanHelper.renderBranchOffice(branchOffice)}" />
+                                               </p:selectCheckboxMenu>
+                                       </f:facet>
+
+                                       <p:link outcome="admin_show_branch_office" title="#{msg.ADMIN_LINK_SHOW_BRANCH_OFFICE_TITLE}" value="#{department.departmentBranchOffice.branchId}" rendered="#{not empty department.departmentBranchOffice}">
+                                               <f:param name="branchId" value="#{department.departmentBranchOffice.branchId}" />
+                                       </p:link>
+
+                                       <p:link outcome="admin_assign_department_branch_office" title="#{msg.ADMIN_LINK_ASSIGN_BRANCH_OFFICE_TITLE}" value="#{msg.ADMIN_LINK_ASSIGN}" rendered="#{empty department.departmentBranchOffice}">
+                                               <f:param name="departmentId" value="#{department.departmentId}" />
+                                       </p:link>
+                               </p:column>
+
+                               <p:column headerText="#{msg.ADMIN_DEPARTMENT_LEAD_EMPLOYEE}" sortBy="#{department.departmentLead.employeePersonalData.contactFamilyName}" filterBy="#{department.departmentLead}" filterMatchMode="in">
+                                       <f:facet name="filter">
+                                               <p:selectCheckboxMenu
+                                                       filter="true"
+                                                       filterMatchMode="contains"
+                                                       label="#{msg.LABEL_EMPLOYEES}"
+                                                       onchange="PF('departmentList').filter()"
+                                                       updateLabel="true"
+                                                       title="#{msg.FILTER_BY_MULTIPLE_EMPLOYEES_TITLE}"
+                                                       >
+                                                       <f:converter converterId="CompanyEmployeeConverter" />
+                                                       <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
+                                                       <f:selectItems value="#{companyEmployeeController.allCompanyEmployees()}" var="employee" itemValue="#{employee}" itemLabel="#{beanHelper.renderEmployee(employee)}" />
+                                               </p:selectCheckboxMenu>
+                                       </f:facet>
+
+                                       <p:link outcome="admin_show_employee" title="#{msg.ADMIN_LINK_SHOW_DEPARTMENT_LEAD_EMPLOYEE_TITLE}" value="#{department.departmentLead.employeeId}" rendered="#{not empty department.departmentLead}">
+                                               <f:param name="employeeId" value="#{department.departmentLead.employeeId}" />
+                                       </p:link>
+
+                                       <p:link outcome="admin_assign_department_employee" title="#{msg.ADMIN_LINK_ASSIGN_DEPARTMENTS_LEAD_EMPLOYEE_TITLE}" value="#{msg.ADMIN_LINK_ASSIGN}" rendered="#{empty department.departmentLead}">
+                                               <f:param name="departmentId" value="#{department.departmentId}" />
+                                       </p:link>
+                               </p:column>
+
+                               <p:column headerText="#{msg.ADMIN_ASSIGNED_USER}" sortBy="#{department.departmentUserOwner.userName}" filterBy="#{department.departmentUserOwner}" filterMatchMode="in">
+                                       <f:facet name="filter">
+                                               <p:selectCheckboxMenu
+                                                       filter="true"
+                                                       filterMatchMode="contains"
+                                                       label="#{msg.LABEL_USERS}"
+                                                       onchange="PF('departmentList').filter()"
+                                                       updateLabel="true"
+                                                       title="#{msg.FILTER_BY_MULTIPLE_USERS_TITLE}"
+                                                       >
+                                                       <f:converter converterId="UserConverter" />
+                                                       <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
+                                                       <f:selectItems value="#{userController.allUsers()}" var="user" itemValue="#{user}" itemLabel="#{user.userName}" />
+                                               </p:selectCheckboxMenu>
+                                       </f:facet>
+
+                                       <p:link outcome="admin_show_user" title="#{msg.ADMIN_LINK_SHOW_DEPARTMENT_OWNER_USER_TITLE}" value="#{department.departmentUserOwner.userId}" rendered="#{not empty department.departmentUserOwner}">
+                                               <f:param name="userId" value="#{department.departmentUserOwner.userId}" />
+                                       </p:link>
+
+                                       <p:link outcome="admin_assign_department_user" title="#{msg.ADMIN_LINK_ASSIGN_DEPARTMENTS_OWNER_USER_TITLE}" value="#{msg.ADMIN_LINK_ASSIGN}" rendered="#{empty department.departmentUserOwner}">
+                                               <f:param name="departmentId" value="#{department.departmentId}" />
+                                       </p:link>
+                               </p:column>
+
+                               <p:column headerText="#{msg.ADMIN_LIST_ENTRY_CREATED}" sortBy="#{department.departmentCreated}" filterable="false">
+                                       <h:outputText id="departmentCreated" value="#{department.departmentCreated.time}">
+                                               <f:convertDateTime for="departmentCreated" type="both" timeStyle="short" dateStyle="short" />
+                                       </h:outputText>
+                               </p:column>
+
+                               <p:column headerText="#{msg.ADMIN_ACTION_LINKS}" sortable="false" filterable="false">
+                                       <links:outputDepartmentAdminMiniLinks department="#{department}" />
+                               </p:column>
+                       </p:dataTable>
+               </h:form>
+
+               <h:form>
+                       <p:panelGrid columns="1" styleClass="table table-full" layout="grid">
+                               <f:facet name="header">
+                                       <h:outputText value="#{msg.ADMIN_ADD_DEPARTMENT_TITLE}" />
+                               </f:facet>
+
+                               <h:panelGroup styleClass="para" layout="block">
+                                       <h:outputText value="#{msg.ADMIN_ADD_DEPARTMENT_MINIMUM_DATA}" />
+                               </h:panelGroup>
+
+                               <ui:include src="/WEB-INF/templates/admin/department/admin_form_department_data.tpl" />
+
+                               <f:facet name="footer">
+                                       <p:panelGrid columns="2" layout="grid">
+                                               <p:commandButton
+                                                       styleClass="reset"
+                                                       type="reset"
+                                                       value="#{msg.BUTTON_RESET_FORM}"
+                                                       />
+
+                                               <p:commandButton
+                                                       styleClass="submit"
+                                                       type="submit"
+                                                       value="#{msg.BUTTON_ADMIN_ADD_DEPARTMENT_DATA}"
+                                                       action="#{adminDepartmentController.addDepartment()}"
+                                                       update=":master:form-list-department:table-list-department"
+                                                       />
+                                       </p:panelGrid>
+                               </f:facet>
+                       </p:panelGrid>
+               </h:form>
+       </ui:define>
+</ui:composition>
index c6b8c5dfe59b91f783e718f3998e6d831498f8bd..bd6be33075f4ad09f231a4539635adabde62fe37 100644 (file)
                                rowsPerPageTemplate="5,10,20,50,100"
                                sortMode="multiple"
                                summary="#{msg.TABLE_SUMMARY_ADMIN_LIST_EMPLOYEES}"
-                               emptyMessage="#{msg.ADMIN_EMPLOYEES_LIST_EMPTY}"
+                               emptyMessage="#{msg.ADMIN_EMPTY_LIST_EMPLOYEES}"
                                widgetVar="employeeList"
                                >
 
                                <f:facet name="header">
-                                       <p:row>
-                                               <p:column>
-                                                       <h:outputText value="#{msg.ADMIN_LIST_EMPLOYEES_HEADER}" />
-                                               </p:column>
-                                               <p:column>
+                                       <p:panelGrid columns="2" columnClasses="ui-grid-col-10, ui-grid-col-2" layout="grid" styleClass="ui-noborder ui-transparent-widget">
+                                               <h:outputText value="#{msg.ADMIN_LIST_EMPLOYEES_HEADER}" />
+
+                                               <h:panelGroup>
                                                        <p:commandButton id="toggler" type="button" value="#{msg.SELECT_SHOWN_COLUMNS}" styleClass="column-selector" />
                                                        <p:columnToggler datasource="table-list-company-employees" trigger="toggler" />
-                                               </p:column>
-                                       </p:row>
+                                               </h:panelGroup>
+                                       </p:panelGrid>
                                </f:facet>
 
                                <p:column headerText="#{msg.ADMIN_ID_NUMBER}" sortBy="#{employee.employeeId}" filterable="false">
 
                                <p:column headerText="#{msg.ADMIN_ASSIGNED_BRANCH_OFFICE}" sortBy="#{employee.employeeBranchOffice}" filterBy="#{employee.employeeBranchOffice}" filterMatchMode="in">
                                        <f:facet name="filter">
-                                               <p:selectCheckboxMenu filter="true" filterMatchMode="contains" label="#{msg.LABEL_BRANCH_OFFICES}" onchange="PF('employeeTable').filter()" updateLabel="true" title="#{msg.FILTER_BY_MULTIPLE_EMPLOYEES_TITLE}">
+                                               <p:selectCheckboxMenu
+                                                       filter="true"
+                                                       filterMatchMode="contains"
+                                                       label="#{msg.LABEL_BRANCH_OFFICES}"
+                                                       onchange="PF('employeeList').filter()"
+                                                       updateLabel="true"
+                                                       title="#{msg.FILTER_BY_MULTIPLE_EMPLOYEES_TITLE}"
+                                                       >
                                                        <f:converter converterId="BranchOfficeConverter" />
                                                        <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
                                                        <f:selectItems value="#{branchOfficeController.allBranchOffices()}" var="branchOffice" itemValue="#{branchOffice}" itemLabel="#{beanHelper.renderBranchOffice(branchOffice)}" />
@@ -64,7 +70,7 @@
                                        </f:facet>
 
                                        <p:link outcome="admin_show_branch_office" title="#{msg.ADMIN_LINK_SHOW_BRANCH_OFFICE_TITLE}" value="#{employee.employeeBranchOffice.branchId}" rendered="#{not empty employee.employeeBranchOffice}">
-                                               <f:param name="userId" value="#{employee.employeeBranchOffice.branchId}" />
+                                               <f:param name="branchId" value="#{employee.employeeBranchOffice.branchId}" />
                                        </p:link>
 
                                        <p:link outcome="admin_assign_branch_office" title="#{msg.ADMIN_LINK_ASSIGN_BRANCH_OFFICE_TITLE}" value="#{msg.ADMIN_LINK_ASSIGN}" rendered="#{empty employee.employeeBranchOffice}">
 
                                <p:column headerText="#{msg.ADMIN_ASSIGNED_USER}" sortBy="#{employee.employeeUserOwner.userName}" filterBy="#{employee.employeeUserOwner}" filterMatchMode="in">
                                        <f:facet name="filter">
-                                               <p:selectCheckboxMenu filter="true" filterMatchMode="contains" label="#{msg.LABEL_USERS}" onchange="PF('employeeTable').filter()" updateLabel="true" title="#{msg.FILTER_BY_MULTIPLE_USERS_TITLE}">
+                                               <p:selectCheckboxMenu
+                                                       filter="true"
+                                                       filterMatchMode="contains"
+                                                       label="#{msg.LABEL_USERS}"
+                                                       onchange="PF('employeeList').filter()"
+                                                       updateLabel="true" title="#{msg.FILTER_BY_MULTIPLE_USERS_TITLE}"
+                                                       >
                                                        <f:converter converterId="UserConverter" />
                                                        <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
                                                        <f:selectItems value="#{userController.allUsers()}" var="user" itemValue="#{user}" itemLabel="#{user.userName}" />
 
                                <p:column headerText="#{msg.ADMIN_BASIC_COMPANY_DATA_COMPANY_NAME}" sortBy="#{employee.employeeCompany.companyName}" filterBy="#{employee.employeeCompany}" filterMatchMode="in">
                                        <f:facet name="filter">
-                                               <p:selectCheckboxMenu filter="true" filterMatchMode="contains" label="#{msg.LABEL_COMPANIES}" onchange="PF('employeeTable').filter()" updateLabel="true" title="#{msg.FILTER_BY_MULTIPLE_COMPANIES_TITLE}">
+                                               <p:selectCheckboxMenu
+                                                       filter="true"
+                                                       filterMatchMode="contains"
+                                                       label="#{msg.LABEL_COMPANIES}"
+                                                       onchange="PF('employeeList').filter()"
+                                                       updateLabel="true"
+                                                       title="#{msg.FILTER_BY_MULTIPLE_COMPANIES_TITLE}"
+                                                       >
                                                        <f:converter converterId="BasicCompanyDataConverter" />
                                                        <f:selectItems value="#{basicCompanyDataController.allCompanyBasicData()}" var="basicData" itemValue="#{basicData}" itemLabel="#{basicData.companyName}" />
                                                </p:selectCheckboxMenu>
                                <f:facet name="footer">
                                        <p:panelGrid columns="2" layout="grid">
                                                <p:commandButton
-                                                       styleClass="reset divider-right"
+                                                       styleClass="reset"
                                                        type="reset"
                                                        value="#{msg.BUTTON_RESET_FORM}"
                                                        />
index cc54be0edeb2a0558bdf1e4465a541eb862fe629..aaa6a2083e62c0ac55aad620bf7a8694ea581089 100644 (file)
@@ -36,7 +36,7 @@
                                <widgets:outputAdminFaxDataFormFields faxNumber="#{beanHelper.faxNumber}" />
 
                                <div class="table-footer">
-                                       <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                                       <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
                                        <p:commandButton styleClass="submit" type="submit" id="submit_edit_fax" value="#{msg.BUTTON_ADMIN_EDIT_FAX_NUMBER}" action="#{adminPhoneController.doChangeFaxNumber()}" />
                                </div>
                        </h:panelGroup>
index dfde39efdc509526899147f08fb9d41b3f8db243..e0d783436ea16c14353ea3c44a8c0e6d3d022ae3 100644 (file)
        </ui:define>
 
        <ui:define name="content">
-               <p:dataTable id="table_list_fax" var="faxNumber" value="#{phoneController.allFaxNumbers()}" tableStyleClass="table table-full" paginator="true" rows="10" summary="#{msg.TABLE_SUMMARY_ADMIN_LIST_FAXS}" emptyMessage="#{msg.ADMIN_FAX_NUMBER_LIST_EMPTY}">
+               <p:dataTable
+                       id="table_list_fax"
+                       var="faxNumber"
+                       value="#{phoneController.allFaxNumbers()}"
+                       tableStyleClass="table table-full"
+                       paginator="true"
+                       rows="10"
+                       summary="#{msg.TABLE_SUMMARY_ADMIN_LIST_FAXS}"
+                       emptyMessage="#{msg.ADMIN_EMPTY_LIST_FAX_NUMBER}"
+                       >
                        <p:column>
                                <f:facet name="header">
                                        <h:outputText value="#{msg.ADMIN_ID_NUMBER}" />
index e940b2333011ef05dc7959589195cd1c1245c1f4..8eecabeb636832bfe289f3c7821ee43417d67b8a 100644 (file)
@@ -36,7 +36,7 @@
                                <widgets:outputAdminLandLineDataFormFields landLineNumber="#{beanHelper.landLineNumber}" />
 
                                <div class="table-footer">
-                                       <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                                       <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
                                        <p:commandButton styleClass="submit" type="submit" id="submit_edit_landline" value="#{msg.BUTTON_ADMIN_EDIT_LAND_LINE_NUMBER}" action="#{adminPhoneController.doChangeLandLineNumber()}" />
                                </div>
                        </h:panelGroup>
index 09b9fd6b0efbd6e1b552d1e150b89354841b2f5c..fc4188113524a32242cfced1777d452bf941a792 100644 (file)
        </ui:define>
 
        <ui:define name="content">
-               <p:dataTable id="table_list_landline" var="landLineNumber" value="#{phoneController.allLandLineNumbers()}" tableStyleClass="table table-full" paginator="true" rows="10" summary="#{msg.TABLE_SUMMARY_ADMIN_LIST_LAND_LINES}" emptyMessage="#{msg.ADMIN_LANDLINE_NUMBER_LIST_EMPTY}">
+               <p:dataTable
+                       id="table_list_landline"
+                       var="landLineNumber"
+                       value="#{phoneController.allLandLineNumbers()}"
+                       tableStyleClass="table table-full"
+                       paginator="true"
+                       rows="10"
+                       summary="#{msg.TABLE_SUMMARY_ADMIN_LIST_LAND_LINES}"
+                       emptyMessage="#{msg.ADMIN_EMPTY_LIST_LANDLINE_NUMBER}"
+                       >
                        <p:column>
                                <f:facet name="header">
                                        <h:outputText value="#{msg.ADMIN_ID_NUMBER}" />
index 7220f222a854a8e6098d7afbbb5c7d886eb4c321..79c900887a68522610d50650e374264800a491d7 100644 (file)
        </ui:define>
 
        <ui:define name="content">
-               <p:dataTable id="table_list_mobiles" var="mobile" value="#{phoneController.allMobileNumbers()}" tableStyleClass="table table-full" paginator="true" rows="10" summary="#{msg.TABLE_SUMMARY_ADMIN_LIST_MOBILE_NUMBERS}" emptyMessage="#{msg.ADMIN_CONTACT_MOBILE_LIST_EMPTY}">
+               <p:dataTable
+                       id="table_list_mobiles"
+                       var="mobile"
+                       value="#{phoneController.allMobileNumbers()}"
+                       tableStyleClass="table table-full"
+                       paginator="true"
+                       rows="10"
+                       summary="#{msg.TABLE_SUMMARY_ADMIN_LIST_MOBILE_NUMBERS}"
+                       emptyMessage="#{msg.ADMIN_EMPTY_LIST_CONTACT_MOBILE}"
+                       >
                        <p:column>
                                <f:facet name="header">
                                        <h:outputText value="#{msg.ADMIN_SHOW_MOBILE_ID}" />
index 6566ed63c5c01c1bc35f2f6d471b5b502e5c5493..975a7dc9bb9ef2fa245bdf1b857d58a1152508fa 100644 (file)
@@ -36,7 +36,7 @@
                                <widgets:outputAdminMobileDataFormFields mobileNumber="#{beanHelper.mobileNumber}" />
 
                                <div class="table-footer">
-                                       <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                                       <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
                                        <p:commandButton styleClass="submit" type="submit" id="submit_edit_mobile" value="#{msg.BUTTON_ADMIN_EDIT_MOBILE_NUMBER}" action="#{adminPhoneController.doUpdateMobileNumber()}" />
                                </div>
                        </h:panelGroup>
index a364b76b35eb162205bac4499ff20be239f14c66..9d8d6e2d9349d60ca3c5eb5cbf5f5710b2597504 100644 (file)
        </ui:define>
 
        <ui:define name="content">
-               <p:dataTable id="table-list-mobile-provider" var="mobileNumber" value="#{phoneController.allMobileNumbers()}" tableStyleClass="table table-full" paginator="true" rows="10" summary="#{msg.TABLE_SUMMARY_ADMIN_LIST_MOBILES}" emptyMessage="#{msg.ADMIN_MOBILE_NUMBER_LIST_EMPTY}">
+               <p:dataTable
+                       id="table-list-mobile-provider"
+                       var="mobileNumber"
+                       value="#{phoneController.allMobileNumbers()}"
+                       tableStyleClass="table table-full"
+                       paginator="true"
+                       rows="10"
+                       summary="#{msg.TABLE_SUMMARY_ADMIN_LIST_MOBILES}"
+                       emptyMessage="#{msg.ADMIN_EMPTY_LIST_MOBILE_NUMBER}"
+                       >
                        <p:column>
                                <f:facet name="header">
                                        <h:outputText value="#{msg.ADMIN_ID_NUMBER}" />
index ead7f7780ee8d659d80c6d5946e7fe9dbe4c1e3c..669e5c696ba3824528b51e91170c066e322473e1 100644 (file)
@@ -24,7 +24,7 @@
                                tableStyleClass="table table-full"
                                paginator="true"
                                paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
-                               widgetVar="mobileProviderTable"
+                               widgetVar="mobileProviderList"
                                filteredValue="#{mobileProviderController.filteredMobileProviders}"
                                rows="10"
                                reflow="true"
@@ -32,7 +32,7 @@
                                rowsPerPageTemplate="5,10,20,50,100"
                                sortMode="multiple"
                                summary="#{msg.TABLE_SUMMARY_ADMIN_LIST_MOBILE_PROVIDERS}"
-                               emptyMessage="#{msg.ADMIN_MOBILE_PROVIDER_LIST_EMPTY}"
+                               emptyMessage="#{msg.ADMIN_EMPTY_LIST_MOBILE_PROVIDER}"
                                widgetVar="mobileProviderList"
                                >
 
 
                                <p:column headerText="#{msg.ADMIN_LIST_MOBILE_PROVIDER_COUNTRY}" sortBy="#{mobileProvider.providerCountry.countryPhoneCode}" filterBy="#{mobileProvider.providerCountry}" filterMatchMode="in">
                                        <f:facet name="filter">
-                                               <p:selectCheckboxMenu filter="true" filterMatchMode="contains" label="#{msg.LABEL_COUNTRIES}" onchange="PF('mobileProviderTable').filter()" updateLabel="true" title="#{msg.FILTER_BY_MULTIPLE_COUNTRY_TITLE}">
+                                               <p:selectCheckboxMenu
+                                                       filter="true"
+                                                       filterMatchMode="contains"
+                                                       label="#{msg.LABEL_COUNTRIES}"
+                                                       onchange="PF('mobileProviderList').filter()"
+                                                       updateLabel="true"
+                                                       title="#{msg.FILTER_BY_MULTIPLE_COUNTRY_TITLE}"
+                                                       >
                                                        <f:converter converterId="CountryConverter" />
                                                        <f:selectItems value="#{countryController.allCountries()}" var="country" itemValue="#{country}" itemLabel="#{msg[country.countryI18nKey]}" />
                                                </p:selectCheckboxMenu>
@@ -79,7 +86,7 @@
                        </p:dataTable>
                </h:form>
 
-               <h:form id="form_add_mobile_provider">
+               <h:form>
                        <h:panelGroup styleClass="table table-full" layout="block">
                                <div class="table-header">
                                        <h:outputText value="#{msg.ADMIN_ADD_MOBILE_PROVIDER_TITLE}" />
@@ -89,7 +96,7 @@
 
                                <div class="table-footer">
                                        <p:commandButton
-                                               styleClass="reset divider-right"
+                                               styleClass="reset"
                                                type="reset"
                                                value="#{msg.BUTTON_RESET_FORM}"
                                                />
diff --git a/web/admin/opening_time/admin_opening_time_list.xhtml b/web/admin/opening_time/admin_opening_time_list.xhtml
new file mode 100644 (file)
index 0000000..a91a699
--- /dev/null
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ui:composition template="/WEB-INF/templates/admin/admin_base.tpl"
+                               xmlns="http://www.w3.org/1999/xhtml"
+                               xmlns:widgets="http://mxchange.org/jsf/core/widgets"
+                               xmlns:links="http://mxchange.org/jsf/core/links"
+                               xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
+                               xmlns:h="http://xmlns.jcp.org/jsf/html"
+                               xmlns:f="http://xmlns.jcp.org/jsf/core"
+                               xmlns:p="http://primefaces.org/ui">
+
+       <ui:define name="document_admin_title">
+               <h:outputText value="#{msg.PAGE_TITLE_ADMIN_LIST_OPENING_TIMES}" />
+       </ui:define>
+
+       <ui:define name="content_header">
+               <h:outputText value="#{msg.CONTENT_TITLE_ADMIN_LIST_OPENING_TIMES}" />
+       </ui:define>
+
+       <ui:define name="content">
+               <h:form id="form-list-opening-time">
+                       <p:dataTable
+                               id="table-list-opening-time"
+                               var="openingTime"
+                               value="#{openingTimeController.allOpeningTimes()}"
+                               tableStyleClass="table table-full"
+                               paginator="true"
+                               paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
+                               filteredValue="#{openingTimeController.filteredOpeningTimes}"
+                               rows="10"
+                               reflow="true"
+                               resizableColumns="true"
+                               rowsPerPageTemplate="5,10,20,50,100"
+                               sortMode="multiple"
+                               summary="#{msg.TABLE_SUMMARY_ADMIN_LIST_OPENING_TIMES}"
+                               emptyMessage="#{msg.ADMIN_EMPTY_LIST_OPENING_TIMES}"
+                               widgetVar="openingTimeList"
+                               >
+
+                               <f:facet name="header">
+                                       <p:panelGrid columns="2" columnClasses="ui-grid-col-10, ui-grid-col-2" layout="grid" styleClass="ui-noborder ui-transparent-widget">
+                                               <h:outputText value="#{msg.ADMIN_LIST_OPENING_TIMES_HEADER}" />
+
+                                               <h:panelGroup>
+                                                       <p:commandButton id="toggler" type="button" value="#{msg.SELECT_SHOWN_COLUMNS}" styleClass="column-selector" />
+                                                       <p:columnToggler datasource="table-list-opening-time" trigger="toggler" />
+                                               </h:panelGroup>
+                                       </p:panelGrid>
+                               </f:facet>
+
+                               <p:column headerText="#{msg.ADMIN_ID_NUMBER}" sortBy="#{openingTime.openingId}" filterable="false">
+                                       <p:link outcome="admin_show_department" title="#{msg.ADMIN_LINK_SHOW_DEPARTMENT_TITLE}" value="#{openingTime.openingId}">
+                                               <f:param name="openingId" value="#{openingTime.openingId}" />
+                                       </p:link>
+                               </p:column>
+
+                               <p:column headerText="#{msg.ADMIN_START_WEEK_DAY}" sortBy="#{openingTime.openingStartDay}" filterBy="#{openingTime.openingStartDay}" filterMatchMode="in">
+                                       <f:facet name="filter">
+                                               <p:selectCheckboxMenu
+                                                       label="#{msg.LABEL_WEEK_DAYS}"
+                                                       onchange="PF('openingTimeList').filter()"
+                                                       updateLabel="true"
+                                                       title="#{msg.FILTER_BY_MULTIPLE_WEEK_DAYS_TITLE}"
+                                                       >
+                                                       <f:converter converterId="DayOfTheWeekConverter" />
+                                                       <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
+                                                       <f:selectItems value="#{dataController.dayOfTheWeek}" var="dayOfWeek" itemValue="#{dayOfWeek}" itemLabel="#{dayOfWeek.toString()}" />
+                                               </p:selectCheckboxMenu>
+                                       </f:facet>
+
+                                       <h:outputText value="#{openingTime.openingStartDay.toString()}" />
+                               </p:column>
+
+                               <p:column headerText="#{msg.ADMIN_END_WEEK_DAY}" sortBy="#{openingTime.openingEndDay}" filterBy="#{openingTime.openingEndDay}" filterMatchMode="in">
+                                       <f:facet name="filter">
+                                               <p:selectCheckboxMenu
+                                                       label="#{msg.LABEL_WEEK_DAYS}"
+                                                       onchange="PF('openingTimeList').filter()"
+                                                       updateLabel="true"
+                                                       title="#{msg.FILTER_BY_MULTIPLE_WEEK_DAYS_TITLE}"
+                                                       >
+                                                       <f:converter converterId="DayOfTheWeekConverter" />
+                                                       <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
+                                                       <f:selectItems value="#{dataController.dayOfTheWeek}" var="dayOfWeek" itemValue="#{dayOfWeek}" itemLabel="#{dayOfWeek.toString()}" />
+                                               </p:selectCheckboxMenu>
+                                       </f:facet>
+
+                                       <h:outputText value="#{openingTime.openingEndDay.toString()}" />
+                               </p:column>
+
+                               <p:column headerText="#{msg.ADMIN_START_TIME}" sortBy="#{openingTime.openingStartTime}" filterBy="#{openingTime.openingStartTime}" filterable="false">
+                                       <h:outputText value="#{openingTime.openingStartTime.time}" />
+                               </p:column>
+
+                               <p:column headerText="#{msg.ADMIN_END_TIME}" sortBy="#{openingTime.openingEndTime}" filterBy="#{openingTime.openingEndTime}" filterable="false">
+                                       <h:outputText value="#{openingTime.openingEndTime.time}" />
+                               </p:column>
+
+                               <p:column headerText="#{msg.ADMIN_ACTION_LINKS}" sortable="false" filterable="false">
+                                       <links:outputOpeningTimeAdminMiniLinks openingTime="#{openingTime}" />
+                               </p:column>
+                       </p:dataTable>
+               </h:form>
+
+               <h:form>
+                       <p:panelGrid columns="1" styleClass="table table-full" layout="grid">
+                               <f:facet name="header">
+                                       <h:outputText value="#{msg.ADMIN_ADD_OPENING_TIME_TITLE}" />
+                               </f:facet>
+
+                               <h:panelGroup styleClass="para" layout="block">
+                                       <h:outputText value="#{msg.ADMIN_ADD_OPENING_TIME_MINIMUM_DATA}" />
+                               </h:panelGroup>
+
+                               <ui:include src="/WEB-INF/templates/admin/opening_time/admin_form_opening_time.tpl" />
+
+                               <f:facet name="footer">
+                                       <p:panelGrid columns="2" layout="grid">
+                                               <p:commandButton
+                                                       styleClass="reset"
+                                                       type="reset"
+                                                       value="#{msg.BUTTON_RESET_FORM}"
+                                                       />
+
+                                               <p:commandButton
+                                                       styleClass="submit"
+                                                       type="submit"
+                                                       value="#{msg.BUTTON_ADMIN_ADD_OPENING_TIME}"
+                                                       action="#{adminOpeningTimeController.addOpeningTime()}"
+                                                       update=":master:form-list-opening-time:table-list-opening-time"
+                                                       />
+                                       </p:panelGrid>
+                               </f:facet>
+                       </p:panelGrid>
+               </h:form>
+       </ui:define>
+</ui:composition>
index 6362f63668de159fe9a7687a5c0851b1703b7648..0a97ee6f51d0f8bbeca0b61625361bb5e3ebd8af 100644 (file)
@@ -51,7 +51,7 @@
                                </h:panelGroup>
 
                                <div class="table-footer">
-                                       <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                                       <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
                                        <p:commandButton styleClass="button-danger" type="submit" id="submit_delete_user" value="#{msg.BUTTON_ADMIN_DELETE_USER}" action="#{adminUserController.deleteUserData()}" />
                                </div>
                        </h:panelGroup>
index da2ca724dc3d29a69fe2e81676816f3324711a8a..0b9c60ed2a5224522b0e4a92042441cd647d8d91 100644 (file)
@@ -38,7 +38,7 @@
                                <widgets:outputAdminUserDataFormFields mode="edit" />
 
                                <div class="table-footer">
-                                       <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                                       <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
                                        <p:commandButton styleClass="submit" type="submit" id="submit_edit_user" value="#{msg.BUTTON_ADMIN_EDIT_USER}" action="#{adminUserController.editUserData()}" />
                                </div>
                        </h:panelGroup>
index 338ed0afc020645dd6e37aee86dff7d36b43d345..93611e2a51c316d1f92a9fe62a4655c718ca9f58 100644 (file)
        </ui:define>
 
        <ui:define name="content">
-               <widgets:outputMessageBox id="admin-user-list-empty" message="#{msg.ADMIN_USER_LIST_EMPTY}" messageStyleClass="alert-danger" rendered="#{userController.allUsers().isEmpty()}" />
-
-               <h:form id="form_export_users" rendered="#{not userController.allUsers().isEmpty()}">
-                       <p:dataTable id="table_export_users" var="user" value="#{userController.allUsers()}" tableStyleClass="table table-full" paginator="true" rows="10" summary="#{msg.TABLE_SUMMARY_ADMIN_EXPORT_USER}">
+               <h:form id="form_export_users">
+                       <p:dataTable
+                               id="table_export_users"
+                               var="user"
+                               value="#{userController.allUsers()}"
+                               tableStyleClass="table table-full"
+                               paginator="true"
+                               rows="10"
+                               summary="#{msg.TABLE_SUMMARY_ADMIN_EXPORT_USER}"
+                               emptyMessage="#{msg.ADMIN_EMPTY_LIST_USER}"
+                               >
                                <p:column exportable="false">
                                        <f:facet name="header">
                                                <h:outputText value="#{msg.ADMIN_EXPORT_USER_ID}" />
index ec9b05a39504574640185a974b0d141c1cba2081..e482a1102f2694877a46f6c5bfe6269f577a7543 100644 (file)
@@ -26,7 +26,7 @@
                                paginator="true"
                                rows="10"
                                summary="#{msg.TABLE_SUMMARY_ADMIN_LIST_USERS}"
-                               emptyMessage="#{msg.ADMIN_USER_LIST_EMPTY}"
+                               emptyMessage="#{msg.ADMIN_EMPTY_LIST_USER}"
                                widgetVar="userList"
                                >
                                <p:column>
                        </p:dataTable>
                </h:form>
 
-               <h:panelGroup styleClass="table table-full" layout="block">
-                       <h:form id="form-admin-add-user">
+               <h:form>
+                       <h:panelGroup styleClass="table table-full" layout="block">
                                <div class="table-header">
                                        <h:outputText value="#{msg.ADMIN_ADD_USER_TITLE}" />
                                </div>
                                </h:panelGroup>
 
                                <div class="table-footer">
-                                       <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                                       <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
                                        <p:commandButton
                                                styleClass="submit"
                                                type="submit"
                                                update=":master:form-list-users:table-list-users"
                                                />
                                </div>
-                       </h:form>
-               </h:panelGroup>
+                       </h:panelGroup>
+               </h:form>
        </ui:define>
 </ui:composition>
index ca05f2229d53e28eb4504b29ecb8dbb022ff3c31..15edebaa2bcacb9a6e970b22d4abd58b12e0719a 100644 (file)
@@ -75,7 +75,7 @@
                                </h:panelGroup>
 
                                <div class="table-footer">
-                                       <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                                       <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
 
                                        <p:commandButton styleClass="submit" type="submit" action="#{adminUserController.lockUserAccount()}" value="#{msg.BUTTON_ADMIN_LOCK_USER_ACCOUNT}" />
                                </div>
index 70bc155a996c7dbb3918b8cb94799bc41059403b..c3709026082545bba38164efd9d2db9dbc0db775 100644 (file)
@@ -43,7 +43,7 @@
                                </h:panelGroup>
 
                                <div class="table-footer">
-                                       <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                                       <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
 
                                        <p:commandButton styleClass="submit" type="submit" action="#{adminUserController.resendConfirmationLink()}" value="#{msg.BUTTON_ADMIN_RESEND_USER_CONFIRMATION_LINK_ACCOUNT}" />
                                </div>
index b4c39a4987f7dfdf939895658695e4cbb2c20454..04494a25f1902ae34577b11c81fafa189e2c2060 100644 (file)
@@ -99,7 +99,7 @@
                                </h:panelGroup>
 
                                <div class="table-footer">
-                                       <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                                       <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
 
                                        <p:commandButton styleClass="submit" type="submit" action="#{adminUserController.unlockUserAccount()}" value="#{msg.BUTTON_ADMIN_UNLOCK_USER_ACCOUNT}" />
                                </div>
index 25eaeb728fc173e9ec43894f961a00483b543553..5c99b648273ebb0b08de0f9911cbfcdcb1beb773 100644 (file)
@@ -57,7 +57,7 @@
                                                </fieldset>
 
                                                <div class="table-footer">
-                                                       <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                                                       <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
                                                        <p:commandButton styleClass="submit" type="submit" value="#{msg.BUTTON_CONTINUE_STEP_2}" action="#{passwordRecoveryController.doLostPasswordStep2()}" />
                                                </div>
                                        </h:panelGroup>
index 0ea6f187053f5e1b4ca0cd5876cb21df9dd0d983..0ad64102a48d2775d64714f60656c5a535d3db39 100644 (file)
@@ -51,7 +51,7 @@
                                </h:panelGroup>
 
                                <div class="table-footer">
-                                       <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                                       <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
                                        <p:commandButton styleClass="submit" type="submit" id="submit_resend_link" value="#{msg.BUTTON_RESEND_CONFIRMATION_LINK}" action="#{userResendConfirmationController.doResendLink()}" />
                                </div>
                        </h:panelGroup>
index e44286f8c2c6e2dc43ebe7fd743b3d0237a4c330..e53c08d35ffacbd5c51063adb8a4cd7b3ebea2fe 100644 (file)
@@ -38,25 +38,6 @@ a:link:hover, a:visited:hover {
        overflow: auto;
 }
 
-#left-menu-container {
-       float: left;
-       background-color: khaki;
-       padding: 5px;
-       width: 170px;
-}
-
-.center_content {
-       position: relative;
-       background-color: #dddddd;
-       padding: 5px;
-}
-
-.content-container {
-       padding-right: 5px;
-       padding-bottom: 5px;
-       margin-left: 190px;
-}
-
 .table-footer {
        margin: 2px;
 }
@@ -249,10 +230,6 @@ ul.navbar-horizontal li.footer-copyright {
        color: #aa0000;
 }
 
-.divider-right {
-       margin-right: 2px;
-}
-
 #content-header {
        border: 1px solid grey;
 }
@@ -309,3 +286,8 @@ ul.navbar-horizontal li.footer-copyright {
 .ui-noborder {
        border: initial;
 }
+
+.ui-transparent-widget > div {
+       background-color: transparent;
+       background-image: initial;
+}
index 6455414e1bfa4ef34a6486d81748041e57fc862b..04630284b760a8d9ee5c61f6006b992033069d34 100644 (file)
@@ -47,7 +47,7 @@
                                <ui:include src="/WEB-INF/templates/login/login_enter_current_password.tpl" />
 
                                <div class="table-footer">
-                                       <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                                       <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
                                        <p:commandButton styleClass="submit" type="submit" id="submit_change_email" value="#{msg.BUTTON_CHANGE_EMAIL_ADDRESS}" action="#{userEmailChangeController.doUserChangeEmailAddress()}" />
                                </div>
                        </h:form>
index b5b03ba6b09d6012031f8a43930a1b85fb275a7d..232353ff6d066aa0ddd4f34ffcf9c73c2ae4507c 100644 (file)
@@ -71,7 +71,7 @@
                                        <ui:include src="/WEB-INF/templates/login/user/user_enter_current_password.tpl" />
 
                                        <div class="table-footer">
-                                               <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                                               <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
                                                <p:commandButton styleClass="submit" type="submit" id="submit_change_password" value="#{msg.BUTTON_USER_CHANGE_PASSWORD}" action="#{userPasswordController.doChangePassword()}" />
                                        </div>
                                </h:panelGroup>
index 62dc3ce82b26878819bd6e18d154bdaa3100b87e..15462f7566a9096fded2c04131957ea88dbcbb84 100644 (file)
@@ -39,7 +39,7 @@
                                <ui:include src="/WEB-INF/templates/guest/guest_privacy_terms.tpl" />
 
                                <div class="table-footer">
-                                       <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+                                       <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
                                        <p:commandButton styleClass="submit" type="submit" id="submit_change_personal_data" value="#{msg.BUTTON_CHANGE_PERSONAL_DATA}" action="#{userController.doChangePersonalData()}" />
                                </div>
                        </h:form>