Class SettingsAdminDB

java.lang.Object
sk.iway.iwcm.users.SettingsAdminDB

public class SettingsAdminDB extends Object
SettingsAdminDB.java - vykonava pracu s databazou, konkretne s tabulkou user_settings_admin
  • Constructor Details

    • SettingsAdminDB

      public SettingsAdminDB()
  • Method Details

    • getSettings

      public static Map<String,SettingsAdminBean> getSettings(int userId)
      Vrati nastavenia pouzivatela z tabulky user_settings_admin v tvare nazov nastavenia ako key a SettingsAdminBean ako value
      Parameters:
      userId - identifikator pouzivatela
      Returns:
    • deleteAdminSettings

      public static void deleteAdminSettings(int userId)
      Funkcia, ktora vymaze vsetky admin nastavenia pouzivatela
      Parameters:
      userId - identifikator pouzivatela
    • setSettings

      public static boolean setSettings(int userId, Map<String,SettingsAdminBean> settings)
      Ulozi nastavenie pouzivatela do databazy
      Parameters:
      userId - identifikator pouzivatela
      settings - admin nastavenia pouzivatela ulozene v mape
      Returns:
    • addToEditorSidebar

      public static boolean addToEditorSidebar(String fieldset, int position, int userId)
      Prida polozku(fieldset) do sidebaru editora na poziciu position pre pouzivatela s identifikatorom userId
      Parameters:
      fieldset - pole, ktore chceme pridat do sidebaru
      position - pozicia, na ktoru chceme pridat polozku
      userId - identifikator pouzivatela, pre ktoreho akciu vykonavame
      Returns:
      true, ak sa operacia podari, inak false
    • removeFromEditorSidebar

      public static boolean removeFromEditorSidebar(String fieldset, int userId)
      Odstrani polozku(fieldset) zo sidebaru editora pre pouzivatela s identifikatorom userId
      Parameters:
      fieldset - pole, ktore chceme pridat do sidebaru
      userId - identifikator pouzivatela, pre ktoreho akciu vykonavame
      Returns:
      true, ak sa operacia podari, inak false
    • getItemsEditorSidebar

      public static String getItemsEditorSidebar(int userId)
      Vrati vsetky polozky, ktore sa nachadzaju v sidebare pre pouzivatela s identifikatorom userId
      Parameters:
      userId - identifikator pouzivatela
      Returns:
      Polozky v sidebare v notacii JSON, kde kluc je nazov polozky a hodnota je jej pozicia
    • getModuleCategoriesSetting

      public static Map<String,SettingsAdminBean> getModuleCategoriesSetting(int userId, List<ModuleInfo> moduleItems)
      Metoda vrati povolene kategorie pre jednotlive moduly
      Parameters:
      userId - userId
      moduleItems - zoznamModulov pre useredit
      Returns:
    • canUserAccess

      public static boolean canUserAccess(String group, Identity user, String cmpName)
      Skontroluje ci ma user pravo pristupovat k danej kategorii v module
      Parameters:
      group - kategoria
      user - user
      cmpName - modul
      Returns:
    • getAllowedCategories

      public static List<String> getAllowedCategories(Map<String,SettingsAdminBean> settings, String cmpName)
      Ak existuje nastavenie pre dany cmpName tak z neho spravi zoznam kategorii
      Parameters:
      settings -
      cmpName -
      Returns:
      zoznam otrimovanych kategorii alebo null ak nastavenie v settingAdmin neexistuje
    • filterBeansByUserAllowedCategories

      public static <T> List<T> filterBeansByUserAllowedCategories(List<T> beans, String propertyName, List<String> allowedCategories)
      Meotda vyfiltruje list beanov podla povoloenych kategorii na zaklade propertyName. Ak je zoznam povolenych kategorii prazdny alebo null nefiltruje sa.
      Type Parameters:
      T - Cokolvek co sa da filtrovat podla nejakej skupiny
      Parameters:
      beans - List objektov na filtrovanie
      propertyName - meno property so skupinou, kategoriou alebo cimkolvek podla coho sa ma filtrovat
      allowedCategories - zoznam povolenych kategorii
      Returns:
    • filterBeansByUserAllowedCategories

      public static <T> List<T> filterBeansByUserAllowedCategories(List<T> beans, String propertyName, int userId, String cmpName)
      Type Parameters:
      T - Cokolvek co sa da filtrovat podla nejakej skupiny
      Parameters:
      beans - List objektov na filtrovanie
      propertyName - meno property so skupinou, kategoriou alebo cimkolvek podla coho sa ma filtrovat
      userId - id usera
      cmpName - meno prava pre komponentu
      Returns:
      vyfiltrovany list objektov, ak nie su nastavene ziadne obmedzenia na kategorie alebo su prazdne vrati nevyfiltrovany zoznam
    • filterBeansByUserAllowedCategories

      public static <T> List<T> filterBeansByUserAllowedCategories(List<T> beans, String propertyName, UserDetails user, String cmpName)
      Type Parameters:
      T - Cokolvek co sa da filtrovat podla nejakej skupiny
      Parameters:
      beans - List objektov na filtrovanie
      propertyName - meno property so skupinou, kategoriou alebo cimkolvek podla coho sa ma filtrovat
      user - user
      cmpName - meno prava pre komponentu
      Returns:
      vyfiltrovany list objektov, ak nie su nastavene ziadne obmedzenia na kategorie alebo su prazdne vrati nevyfiltrovany zoznam
    • setSetting

      public static boolean setSetting(SettingsAdminBean setting)
      zmeni existujuce, alebo vytvori nove nastavenie. Ak userSettingsId>0 tak zmeni podla userSettingsId, inak podla userId a sKey
      Parameters:
      setting -
      Returns:
    • deleteSetting

      public static boolean deleteSetting(SettingsAdminBean setting)
      vymaze nastavenie z DB. Ak userSettingsId>0 tak vymaze podla userSettingsId, inak podla userId a sKey
      Parameters:
      setting -
      Returns:
    • getSetting

      public static SettingsAdminBean getSetting(int userSettingsId, int userId, String sKey)
      vrati SettingsAdminBean z DB. Ak userSettingsId>0 tak najde podla userSettingsId, inak podla userId a sKey
      Parameters:
      userSettingsId -
      userId -
      sKey -
      Returns: