Class EditorFacade

java.lang.Object
sk.iway.iwcm.editor.facade.EditorFacade

@Service @RequestScope public class EditorFacade extends Object
Facade pre editaciu web stranok. Dolezite su metody getDocForEditor pre ziskanie DocDetails pre editor a save pre jeho ulozenie.
  • Constructor Details

  • Method Details

    • save

      public DocDetails save(DocDetails entity)
      Ulozenie web stranky, vykonava nasledovne operacie: - multigroup mapping - web stranka moze byt vo viacerych adresaroch, ak sa edituje child, tak sa prepne na editaciu master verzie a nasledne sa rozkopiruje do dalsich priecinkov - vykona samotne ulozenie stranky, vid metoda saveEditedDoc - po ulozeni aktualizuje TemplatesDB ak sa jedna o stranku zo System adresara - ak nastala zmena vyzadujuca reload nastavi atribut forceReload=true - ulozi Media novej web stranky (tie sa ukladaju do DB pre novu stranku s -user_id namiesto web stranky)
      Parameters:
      entity -
      Returns:
    • saveAsBVariant

      public DocDetails saveAsBVariant(DocDetails entity)
      Ulozi entitu ako B variantu web stranky pre app AB testovanie
      Parameters:
      entity -
      Returns:
    • getDocForEditor

      public DocDetails getDocForEditor(int docId, int historyId, int groupId)
      Pripravi entitu na editaciu, na rozdiel od standardneho ziskania getOne riesi: - multigroup mapovanie - ak editujem slave vrati udaje master verzie - ak sa jedna o novu stranku (doc_id==-1) pripravi stranke udaje podla adresara (sablona, poradie usporiadania...) - dokaze nacitat stranku aj z historie, pokial je zadane historyId
      Parameters:
      docId - - id web stranky, alebo -1 pre novu stranku
      historyId - - id z historie, alebo -1 pre vratenie aktualnej verzie stranky
      groupId - - id adresara
      Returns:
    • createEmptyWebPage

      public DocDetails createEmptyWebPage(GroupDetails group, String title, boolean available)
      Vytvori web stranku
      Parameters:
      group - - adresar v ktorom ma byt vytvorena
      title - - volitelny titulok stranky, ak je NULL vytvori sa podla mena adresara
      available - - urci, ci stranka na byt ihned zobrazitelna (true), alebo nie (false)
      Returns:
    • delete

      public boolean delete(DocDetails doc)
    • recoverWebpageFromTrash

      public void recoverWebpageFromTrash(DocDetails doc)
    • isForceReload

      public boolean isForceReload()
    • getApprovers

      public List<UserDetails> getApprovers()
      Ak nastalo schvalovanie vrati zoznam schvalovatelov
      Returns:
    • getPublihStart

      public Long getPublihStart()
      Ak ma web stranka publikovanie v buducnosti nastavi sa sem timestamp zaciatku publikovania
      Returns:
    • isPageSavedToPublic

      public boolean isPageSavedToPublic()
      Ak bola stranka uspesne vypublikovana na verejne zobrazenie vrati true
      Returns:
    • isPageSavedAsWorkVersion

      public boolean isPageSavedAsWorkVersion()
      Ak bola stranka korektne ulozena ako rozpracovana verzia vrati true
      Returns:
    • getNotify

      public List<NotifyBean> getNotify()
      Vrati zoznam moznych notifikacii pre pouzivatela
      Returns:
    • clearNotify

      public void clearNotify()
      Clears notify list
    • getAllMedia

      public List<sk.iway.spirit.model.Media> getAllMedia(Integer docId)
      Vrati zoznam vsetkych medii priradenych k zadanej web stranke
      Parameters:
      docId - - ID stranky
      Returns:
    • duplicateMedia

      public void duplicateMedia(Integer oldDocId, Integer newDocId)
      Duplikuje media pri duplikovani web stranky
      Parameters:
      oldDocId -
      newDocId -
    • isPageEditable

      public boolean isPageEditable(Identity user, DocDetails doc, boolean isDelete)
      Overi, ci pouzivatel ma pravo na editaciu zadanej web stranky
      Parameters:
      user -
      doc -
      isDelete - - ak je true kontroluje sa pravo deletePage, inak sa kontroluje addPage/pageSave
      Returns:
    • isIgnoreMultigroupMapping

      public boolean isIgnoreMultigroupMapping()
    • setIgnoreMultigroupMapping

      public void setIgnoreMultigroupMapping(boolean ignoreMultigroupMapping)
      set to true if you want to directly edit multigroup page (eg. change sort order or groupId)
      Parameters:
      ignoreMultigroupMapping -
    • recoverGroupFromTrash

      public boolean recoverGroupFromTrash(GroupDetails entity, Identity currentUser)
      Recover group from trash: - check permissions - set parentGroupId by history (if exists) or set to 0
      Parameters:
      entity -
      currentUser -
      Returns: