com.trackstudio.kernel.manager
Class PrstatusManager

java.lang.Object
  extended by com.trackstudio.kernel.manager.KernelManager
      extended by com.trackstudio.kernel.manager.PrstatusManager

public class PrstatusManager
extends KernelManager

Класс PrstatusManager содержит методы для работы со статусами пользователей


Field Summary
 
Fields inherited from class com.trackstudio.kernel.manager.KernelManager
hu
 
Method Summary
 java.lang.String clonePrstatus(java.lang.String prstatusId, java.lang.String userId, java.lang.String locale)
          Создается копия статуса (клонируется)
 java.lang.String createPrstatus(SafeString name, java.lang.String userId)
          Создается статус
 void deletePrstatus(java.lang.String prstatusId)
          Удаляет статус по его ID
 java.util.Set<Prstatus> getAvailablePrstatusList(java.lang.String userId)
          Для пользователя, который создает ACL и его парентов достается список статусов, созданных ими, затем достаются все подчиненные статусы от собственного статуса пользователя плюс сам этот статус.
 java.util.Set<Prstatus> getCreatablePrstatusList(java.lang.String userId)
          Возвращает список статусов, которые может создавать указанный пользователя
protected static PrstatusManager getInstance()
          Возвращает экземпляр текущего класса
 java.util.Set<Prstatus> getPrstatusList()
          Достаем все статуса из базы
 java.util.ArrayList<Prstatus> getViewablePrstatusList(java.lang.String userId)
          Deprecated. В сущности, выполняет то же самое, что и getAvailablePrstatusList
 boolean isManagerAvailable(java.lang.String userId, java.lang.String managerId)
          Проверяем, может ли один пользователь быть менеджером для другого.
 void setRoles(java.lang.String prstatusId, java.util.List<java.lang.String> allowed, java.util.List<java.lang.String> denied)
          Устанавливает роли для пользователя
 void updatePrstatus(java.lang.String prstatusId, SafeString name, java.lang.String preferences)
          Редактирует статус
 
Methods inherited from class com.trackstudio.kernel.manager.KernelManager
getAcl, getAttachment, getBookmark, getCategory, getFilter, getFind, getIndex, getLicense, getLongText, getMailImport, getMessage, getPlugin, getPrstatus, getRegistration, getReport, getStep, getTask, getTemplate, getTSInfo, getUdf, getUser, getWorkflow
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

protected static PrstatusManager getInstance()
Возвращает экземпляр текущего класса

Returns:
Экземпляр PrstatusManager

updatePrstatus

public void updatePrstatus(java.lang.String prstatusId,
                           SafeString name,
                           java.lang.String preferences)
                    throws GranException
Редактирует статус

Parameters:
prstatusId - ID редактируемого статуса
name - Название статуса
preferences - Настройки статуса
Throws:
GranException - при необходимости

deletePrstatus

public void deletePrstatus(java.lang.String prstatusId)
                    throws GranException
Удаляет статус по его ID

Parameters:
prstatusId - ID удаляемого статуса
Throws:
GranException - при необходимости

createPrstatus

public java.lang.String createPrstatus(SafeString name,
                                       java.lang.String userId)
                                throws GranException
Создается статус

Parameters:
name - Название статуса
userId - ID пользователя, который создает статус
Returns:
ID созданного статуса
Throws:
GranException - при необходимости

clonePrstatus

public java.lang.String clonePrstatus(java.lang.String prstatusId,
                                      java.lang.String userId,
                                      java.lang.String locale)
                               throws GranException
Создается копия статуса (клонируется)

Parameters:
prstatusId - ID копируемого статуса
userId - ID пользователя
locale - Локаль
Returns:
ID созданного статуса
Throws:
GranException - при необходимости

setRoles

public void setRoles(java.lang.String prstatusId,
                     java.util.List<java.lang.String> allowed,
                     java.util.List<java.lang.String> denied)
              throws GranException
Устанавливает роли для пользователя

Parameters:
prstatusId - ID статуса пользователя
allowed - Устанавливаемые роли
denied - Удаляемые роли
Throws:
GranException - при неободимости

getAvailablePrstatusList

public java.util.Set<Prstatus> getAvailablePrstatusList(java.lang.String userId)
                                                 throws GranException
Для пользователя, который создает ACL и его парентов достается список статусов, созданных ими, затем достаются все подчиненные статусы от собственного статуса пользователя плюс сам этот статус. Возвращается сумма этих двух множеств

Parameters:
userId - ID пользователя
Returns:
Список статусов
Throws:
GranException - при необходимости
See Also:
Prstatus

getCreatablePrstatusList

public java.util.Set<Prstatus> getCreatablePrstatusList(java.lang.String userId)
                                                 throws GranException
Возвращает список статусов, которые может создавать указанный пользователя

Parameters:
userId - ID пользователя
Returns:
список статусов
Throws:
GranException - при необходимости
See Also:
Prstatus

getViewablePrstatusList

public java.util.ArrayList<Prstatus> getViewablePrstatusList(java.lang.String userId)
                                                      throws GranException
Deprecated. В сущности, выполняет то же самое, что и getAvailablePrstatusList

Выводит список prstatus для пользователя, которые тот может смотреть. Для этого берем список prstatus, созданных пользователем, и к ним добавляем getAvailablePrstatusList

Parameters:
userId - ID пользоватлея
Returns:
список статусов
Throws:
GranException - при необходимости
See Also:
getAvailablePrstatusList(String), Prstatus

isManagerAvailable

public boolean isManagerAvailable(java.lang.String userId,
                                  java.lang.String managerId)
                           throws GranException
Проверяем, может ли один пользователь быть менеджером для другого.
Для userId и managerId достаем соответствующие prstatus и сравниваем. Если они не одинаковы, то берем parent-статус от пользовательского и снова сравниваем со статусом менеджера. Так продолжаем, пока не дойдем до верха, либо не найдем совпадающие статусы. Если статусы находятся в одной ветви, и статус managerId выше, чем статус userId, проверяем, находятся ли managerId и владелец статуса userId в одной ветке, причем managerId должен являться parent-ом по отношению к владельцу статуса. Т.е. иметь права редактирования на этот статус, фактически. Если такие условия выполняются, то возвращаем true.

Parameters:
userId - Пользователь, для которого проверяем.
managerId - Потенциальный менеджер
Returns:
true - если может
Throws:
GranException - при необходимости

getPrstatusList

public java.util.Set<Prstatus> getPrstatusList()
                                        throws GranException
Достаем все статуса из базы

Returns:
список статусов
Throws:
GranException - при необходимости
See Also:
Prstatus


Copyright © 2002-2009 TrackStudio, Ltd. All Rights Reserved.