/* * Copyright 2009-2012 by KNURT Systeme (http://www.knurt.de) * * Licensed under the Creative Commons License Attribution-NonCommercial-ShareAlike 3.0 Unported; * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://creativecommons.org/licenses/by-nc-sa/3.0/ * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package de.knurt.fam.template.util; import java.util.ArrayList; import java.util.List; import de.knurt.fam.connector.FamConnector; import de.knurt.fam.core.model.persist.User; import de.knurt.fam.template.model.TemplateResource; /** * generate the quicksand navigation on the home page. * * @author Daniel Oltmanns * @since 1.20 (07/30/2010) */ public class QuicksandHtml { public static List<String[]> getJuiTabs(TemplateResource templateResource) { User user = templateResource.getAuthUser(); List<String[]> jui_tabs = new ArrayList<String[]>(); jui_tabs.add(new String[] { "All Services", "quicksand_button_show_all", "show_all" }); // INTLANG if (templateResource.getVisibility() == TemplateResource.Visibility.ADMIN) { if (user.hasRight2ViewPage("systemfacilityavailability")) { jui_tabs.add(new String[] { "Facilities", "quicksand_button_manage_facilities", "manage_facilities" }); // INTLANG } if (user.hasRight2ViewPage("users")) { jui_tabs.add(new String[] { "Users", "quicksand_button_administrate_system", "administrate_user" }); // INTLANG } if (user.hasAdminTasks() || user.hasRight2ViewPage("systemmodifyapplications") || user.hasRight2ViewPage("jobsmanager")) { jui_tabs.add(new String[] { "Bookings", "quicksand_button_administrate_system", "administrate_bookings" }); // INTLANG } if (user.hasRight2ViewPage("editsoa")) { jui_tabs.add(new String[] { "System", "quicksand_button_administrate_system", "administrate_system" }); // INTLANG } jui_tabs.add(new String[] { "Information", "quicksand_button_spot_on_information", "spot_on_information" }); // INTLANG } else { jui_tabs.add(new String[] { "Access Facilities", "quicksand_button_access_facilities", "access_facilities" }); // INTLANG jui_tabs.add(new String[] { "My Account", "quicksand_button_access_my_account", "access_my_account" }); // INTLANG jui_tabs.add(new String[] { "Help", "quicksand_button_spot_on_information", "spot_on_information" }); // INTLANG } return jui_tabs; } public static List<String[]> getClickItems(TemplateResource templateResource) { User user = templateResource.getAuthUser(); // ↘ generate clickitems ... List<String[]> clickitems = new ArrayList<String[]>(); // ↘ ... for "access facilities" List<String> dataTypes = new ArrayList<String>(); if (templateResource.getVisibility() == TemplateResource.Visibility.ADMIN) { dataTypes.removeAll(dataTypes); dataTypes.add("manage_facilities"); if (user.hasRight2ViewPage("systemfacilityavailability")) { clickitems.add(new String[] { "quicksand_calendar_icon", "icons/calendar_icon.gif", getQuicksandClasses(dataTypes), "systemfacilityavailabilityoverview" }); } if (user.hasRight2ViewPage("facilityemergency")) { clickitems.add(new String[] { "quicksand_alert_icon", "icons/alert_icon.gif", getQuicksandClasses(dataTypes), "facilityemergency" }); } if (user.hasRight2ViewPage("configjobsurvey")) { clickitems.add(new String[] { "quicksand_configjobsurvey_icon", "icons/configjobsurvey_icon.gif", getQuicksandClasses(dataTypes), "configjobsurvey" }); } dataTypes.removeAll(dataTypes); dataTypes.add("administrate_user"); if (user.hasRight2ViewPage("users")) { clickitems.add(new String[] { "quicksand_people_icon", "icons/people.gif", getQuicksandClasses(dataTypes), "users" }); } dataTypes.removeAll(dataTypes); dataTypes.add("administrate_bookings"); if (user.hasAdminTasks()) { clickitems.add(new String[] { "quicksand_see_applications_icon", "icons/see_applications_icon.gif", getQuicksandClasses(dataTypes), "systemmodifyapplications" }); } if (user.hasRight2ViewPage("jobsmanager")) { clickitems.add(new String[] { "quicksand_jobsmanager_icon", "icons/jobsmanager.gif", getQuicksandClasses(dataTypes), "jobsmanager" }); } dataTypes.removeAll(dataTypes); dataTypes.add("administrate_system"); if (user.hasAdminTasks() && user.hasRight2ViewPage("editsoa")) { clickitems.add(new String[] { "quicksand_verifypeople_icon", "icons/edit-find-replace.png", getQuicksandClasses(dataTypes), "editsoa" }); } if (user.hasAdminTasks() && user.hasRight2ViewPage("lettergenerator")) { clickitems.add(new String[] { "quicksand_lettergenerator_icon", "icons/mail-message-new.png", getQuicksandClasses(dataTypes), "lettergenerator" }); } dataTypes.removeAll(dataTypes); dataTypes.add("spot_on_information"); if (user.hasRight2ViewPage("systembookings")) { clickitems.add(new String[] { "quicksand_bookings_icon", "icons/bookings_icon.gif", getQuicksandClasses(dataTypes), "systembookings" }); } if (user.hasRight2ViewPage("statistics")) { clickitems.add(new String[] { "quicksand_admin_show_statistics_icon", "icons/statistics.gif", getQuicksandClasses(dataTypes), "statistics" }); } if (user.hasRight2ViewPage("systemlistofusermails")) { clickitems.add(new String[] { "quicksand_letter_icon", "icons/letter_icon.gif", getQuicksandClasses(dataTypes), "systemlistofusermails" }); } if (user.hasRight2ViewPage("systemlistofconfiguredfacilities")) { clickitems.add(new String[] { "quicksand_admin_icon", "icons/admin_icon.gif", getQuicksandClasses(dataTypes), "systemlistofconfiguredfacilities" }); } if (user.hasRight2ViewPage("systemlistofrolesandrights")) { clickitems.add(new String[] { "quicksand_rolesrights_icon", "icons/rolesandrights_icon.gif", getQuicksandClasses(dataTypes), "systemlistofrolesandrights" }); } if (user.hasAdminTasks()) { clickitems.add(new String[] { "quicksand_meta_icon", "icons/manreadbook_icon.gif", getQuicksandClasses(dataTypes), "systemmeta" }); } } else { // ↘ ... for "Access" dataTypes.add("access_facilities"); clickitems.add(new String[] { "quicksand_access_facilities_icon", "icons/access_facilities_icon.gif", getQuicksandClasses(dataTypes), "book2" }); clickitems.add(new String[] { "quicksand_cancelation_icon", "icons/appointment-new.png", getQuicksandClasses(dataTypes), "mybookings" }); clickitems.add(new String[] { "quicksand_filemanager_icon", "icons/system-file-manager.png", getQuicksandClasses(dataTypes), "filemanager" }); // ↘ ... for "Access" and "Spot on information" dataTypes.add("spot_on_information"); clickitems.add(new String[] { "quicksand_logbooks_icon", "icons/logbooks_icon.gif", getQuicksandClasses(dataTypes), "logbook" }); // ↘ ... for "Spot on information" dataTypes.removeAll(dataTypes); dataTypes.add("spot_on_information"); if (FamConnector.getGlobalPropertyAsBoolean("show_home_on_quicksand")) { clickitems.add(new String[] { "quicksand_information_icon", "icons/information_icon.gif", getQuicksandClasses(dataTypes), "home" }); } if (FamConnector.getGlobalPropertyAsBoolean("show_terms_on_quicksand")) { clickitems.add(new String[] { "quicksand_terms_icon", "icons/paragraf.png", getQuicksandClasses(dataTypes), "termsofuse" }); } clickitems.add(new String[] { "quicksand_blackboeard_icon", "icons/blackboeard_icon.gif", getQuicksandClasses(dataTypes), "tutorial" }); // ↘ ... for "Access" dataTypes.removeAll(dataTypes); dataTypes.add("access_my_account"); clickitems.add(new String[] { "quicksand_my_profile_icon", "icons/my_profile_icon.gif", getQuicksandClasses(dataTypes), "contactdetails" }); clickitems.add(new String[] { "quicksand_changepassword_icon", "icons/ryanlerch_sword_battleaxe_shield.png", getQuicksandClasses(dataTypes), "changepassword" }); } return clickitems; } private static String getQuicksandClasses(List<String> dataTypes) { String result = ""; for (String dataType : dataTypes) { result += dataType + " "; } return result + "show_all"; } }