Class ProjectManager
- java.lang.Object
-
- org.apache.avalon.framework.logger.AbstractLogEnabled
-
- org.ametys.plugins.workspaces.project.ProjectManager
-
- All Implemented Interfaces:
Observer
,PluginAware
,Initializable
,Component
,Contextualizable
,LogEnabled
,Serviceable
public class ProjectManager extends AbstractLogEnabled implements Serviceable, Component, Contextualizable, PluginAware, Initializable, Observer
Helper component for managing project workspaces
-
-
Field Summary
Fields Modifier and Type Field Description protected Context
_context
Avalon contextprotected GroupDirectoryContextHelper
_groupDirectoryContextHelper
Helper for group directory's contextprotected I18nUtils
_i18nUtils
The i18n utils.protected WorkspaceModuleExtensionPoint
_moduleManagerEP
Module Managers EPprotected PopulationContextHelper
_populationContextHelper
Helper for user populationprotected ProjectMemberManager
_projectMemberManager
The project members' managerprotected AmetysObjectResolver
_resolver
Ametys object resolverprotected SiteConfigurationManager
_siteConfigurationManager
Site configuration managerprotected SiteDAO
_siteDao
Site DAOprotected SiteManager
_siteManager
Site managerstatic String
MEMORY_PAGESBYIDCACHE
static String
MEMORY_PROJECTIDBYNAMECACHE
static String
MEMORY_SITEASSOCIATION_CACHE
static String
REQUEST_PAGESBYPROJECTANDMODULE_CACHE
static String
REQUEST_PROJECTBYID_CACHE
static String
ROLE
Avalon Role-
Fields inherited from interface org.ametys.core.observation.Observer
MAX_PRIORITY, MIN_PRIORITY
-
-
Constructor Summary
Constructors Constructor Description ProjectManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
_createCaches()
Creates the cachesprotected Site
_createProjectWorkspace(Project project, List<String> errors)
Create the project workspace for a given project.protected Map<String,Object>
_project2json(Project project)
Get the project's main properties as json objectvoid
activateModules(Project project, Set<String> moduleIds, Map<String,Object> additionalValues)
Activate the list of module of the projectvoid
addPlaces(Collection<String> newPlaces)
Add project's placesvoid
addTags(Collection<String> newTags)
Add project's tagsboolean
canAccessBO(Project project)
Can the current user access backoffice on the site of the current projectvoid
checkRightsForProjectCreation(Project.InscriptionStatus inscriptionStatus)
Check rights to create projectvoid
checkRightsForProjectEdition(Project project, Project.InscriptionStatus inscriptionStatus)
Check rights to edit projectvoid
clearCaches()
Clear the site cachevoid
contextualize(Context context)
Map<String,Object>
createProject(String name, String title, String description, String emailList, String inscriptionStatus, String defaultProfile)
Create a projectProject
createProject(String name, String title, Map<String,Object> additionalValues, Set<String> modulesIds, List<String> errors)
Create a projectvoid
deactivateModules(Project project, Set<String> moduleIds)
Remove the explorer root node of the project module, remove all events related to that module and set it to deactivatedList<Map<String,String>>
deleteProject(List<Project> projects)
Delete a project.List<Map<String,String>>
deleteProject(Project project)
Delete a project and its sitesMap<String,Object>
deleteProjectsByIds(List<String> ids)
Delete a list of project.void
editProject(String id, String title, String description, String mailingList, String inscriptionStatus, String defaultProfile)
Edit a projectvoid
editProject(Project project, String title, String description, String mailingList, String inscriptionStatus, String defaultProfile)
Edit a projectString
getCatalogSiteName()
Get the site name holding the catalog of projectsList<Project>
getManagedProjects(UserIdentity user)
Get the projects managed by the userList<Project>
getManagedProjects(UserIdentity user, List<String> filteredCategories)
Get the projects managed by the userSet<UserIdentity>
getManagers()
Get all managersSet<Page>
getModulePages(Project project, String moduleId)
Retrieves the page of the module for all available languagesSet<Page>
getModulePages(Project project, WorkspaceModule workspaceModule)
Get a page in the site of a given project with a specific tagList<WorkspaceModule>
getModules(Project project)
Get the list of activated modules for a projectProject
getParentProject(String id)
Get the project of an ametys object inside a project.Project
getParentProject(AmetysObject object)
Get the project of an ametys object inside a project.List<String>
getPlaces()
Get the project's placesint
getPriority(Event event)
Retrieves the priority to observe this event.
This can be used to process a supported event before others observers.Project
getProject(String projectName)
Retrieves a project by its nameCollection<String>
getProjectNames()
Retrieves the project namesSet<String>
getProjectNames(Project project)
Get the availables project names.Map<String,Object>
getProjectProfiles()
Get the list of profiles configured for the workspaces' projectsMap<String,Object>
getProjectProperties(String projectId)
Retrieves the standard information of a projectMap<String,Object>
getProjectProperties(Project project)
Retrieves the standard information of a projectAmetysObjectIterable<Project>
getProjects()
Retrieves all projectsList<Project>
getProjects(List<String> filteredCategories)
Retrieves projects filtered by categoriesList<Project>
getProjects(List<String> filteredCategories, List<String> filteredKeywords, boolean matchesAny)
Retrieves projects filtered by categories and/or keywordsList<Map<String,Object>>
getProjectsData()
Retrieves the mapping of all the projects name with their title (regarless user rights)List<Map<String,Object>>
getProjectsForClientSide()
Retrieves all projects for client sideList<String>
getProjectsForSite(String siteName)
Get the list of project names for a given siteList<Project>
getProjectsForSite(Site site)
Get the list of project for a given siteModifiableTraversableAmetysObject
getProjectsRoot()
Return the root for projects The root node will be created if necessarySet<String>
getProjectUrls(Project project)
Get the availables project URLs.List<String>
getTags()
Get the project's tagsSet<String>
getTags(List<String> projectIds)
Get the tags from the projectsMap<Project,JCRProjectMember.MemberType>
getUserProjects(UserIdentity user)
Get the user's projectsMap<Project,JCRProjectMember.MemberType>
getUserProjects(UserIdentity user, List<String> filteredCategories)
Get the user's projects filtered by categoriesMap<Project,JCRProjectMember.MemberType>
getUserProjects(UserIdentity user, List<String> filteredCategories, List<String> filteredKeywords)
Get the user's projects filtered by categories OR keywordsList<Map<String,Object>>
getUserProjectsData()
Retrieves the mapping of all the projects name with their title on which the current user has accessString
getUsersDirectorySiteName()
Get the site name holding the users directoryboolean
hasProject(String projectName)
Returns true if the given project exists.void
initialize()
void
initializeModulesSitemap(Project project, Sitemap sitemap)
Initialize the sitemap with the active module of the projectboolean
isManager()
Determines if the current user is a manager of at least one projectboolean
isManager(String projectName, UserIdentity user)
Determines if the user is a manager of the projectboolean
isManager(UserIdentity user)
Determines if the user is a manager of at least one projectboolean
isManager(Project project, UserIdentity user)
Determines if the user is a manager of the projectboolean
isModuleActivated(Project project, String moduleId)
Determines if a module is activatedboolean
isTagValid(String tagName)
Test if a tag is validvoid
observe(Event event, Map<String,Object> transientVars)
Observes an event.Set<ModifiableResourceCollection>
pageToModuleRoot(Page page)
Return the possible module roots associated to a pageMap<String,Object>
searchUserByProject(String projectName, int limit, String criteria, Map<String,Object> previousSearchData)
Retrieves the users that have not been yet added to a project with a given criteriavoid
service(ServiceManager manager)
void
setPlaces(List<String> places)
Set the placesvoid
setPluginInfo(String pluginName, String featureName, String id)
Sets the plugin info relative to the current component.
Note : The feature name may be null if the targeted component in declared at plugin level.void
setProjectSiteTitle(Site site, String title)
Prefix project titlevoid
setTags(List<String> tags)
Set the tagsboolean
supports(Event event)
Checks if the event is supported.Map<String,Object>
tag(List<String> projectIds, List<String> tagNames, String mode, Map<String,Object> contextualParameters)
Tag the projectsMap<String,Object>
tag(List<String> projectIds, List<String> tagNames, Map<String,Object> contextualParameters)
Tag the projectsvoid
tagProjectPage(ModifiablePage page, ModifiableResourceCollection moduleRoot)
Mark the given page as this module page.void
untagProjectPage(ModifiablePage page, ModifiableResourceCollection moduleRoot)
Remove the mark on the given page of this module.-
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
-
-
-
-
Field Detail
-
REQUEST_PROJECTBYID_CACHE
public static final String REQUEST_PROJECTBYID_CACHE
-
MEMORY_PROJECTIDBYNAMECACHE
public static final String MEMORY_PROJECTIDBYNAMECACHE
-
REQUEST_PAGESBYPROJECTANDMODULE_CACHE
public static final String REQUEST_PAGESBYPROJECTANDMODULE_CACHE
-
MEMORY_PAGESBYIDCACHE
public static final String MEMORY_PAGESBYIDCACHE
-
MEMORY_SITEASSOCIATION_CACHE
public static final String MEMORY_SITEASSOCIATION_CACHE
-
_resolver
protected AmetysObjectResolver _resolver
Ametys object resolver
-
_i18nUtils
protected I18nUtils _i18nUtils
The i18n utils.
-
_siteManager
protected SiteManager _siteManager
Site manager
-
_siteConfigurationManager
protected SiteConfigurationManager _siteConfigurationManager
Site configuration manager
-
_moduleManagerEP
protected WorkspaceModuleExtensionPoint _moduleManagerEP
Module Managers EP
-
_populationContextHelper
protected PopulationContextHelper _populationContextHelper
Helper for user population
-
_groupDirectoryContextHelper
protected GroupDirectoryContextHelper _groupDirectoryContextHelper
Helper for group directory's context
-
_projectMemberManager
protected ProjectMemberManager _projectMemberManager
The project members' manager
-
-
Constructor Detail
-
ProjectManager
public ProjectManager()
-
-
Method Detail
-
contextualize
public void contextualize(Context context) throws ContextException
- Specified by:
contextualize
in interfaceContextualizable
- Throws:
ContextException
-
service
public void service(ServiceManager manager) throws ServiceException
- Specified by:
service
in interfaceServiceable
- Throws:
ServiceException
-
initialize
public void initialize() throws Exception
- Specified by:
initialize
in interfaceInitializable
- Throws:
Exception
-
setPluginInfo
public void setPluginInfo(String pluginName, String featureName, String id)
Description copied from interface:PluginAware
Sets the plugin info relative to the current component.
Note : The feature name may be null if the targeted component in declared at plugin level.- Specified by:
setPluginInfo
in interfacePluginAware
- Parameters:
pluginName
- Unique identifier for the plugin hosting the extensionfeatureName
- Unique feature identifier (unique for a given pluginName)id
- Unique identifier of this component
-
getProjects
public AmetysObjectIterable<Project> getProjects()
Retrieves all projects- Returns:
- the projects
-
getProjects
public List<Project> getProjects(List<String> filteredCategories)
Retrieves projects filtered by categories- Parameters:
filteredCategories
- the filtered categories. Can be empty to no filter by categories.- Returns:
- the projects
-
getProjects
public List<Project> getProjects(List<String> filteredCategories, List<String> filteredKeywords, boolean matchesAny)
Retrieves projects filtered by categories and/or keywords- Parameters:
filteredCategories
- the filtered categories. Can be empty to no filter by categories.filteredKeywords
- the filtered keywords. Can be empty to no filter by keywords.matchesAny
- true to get projects matching categories OR keywords- Returns:
- the projects
-
getProjectsForClientSide
public List<Map<String,Object>> getProjectsForClientSide()
Retrieves all projects for client side- Returns:
- the projects
-
getProject
public Project getProject(String projectName)
Retrieves a project by its name- Parameters:
projectName
- The project name- Returns:
- the project or
null
if not found
-
getUserProjects
public Map<Project,JCRProjectMember.MemberType> getUserProjects(UserIdentity user)
Get the user's projects- Parameters:
user
- the user- Returns:
- the user's projects
-
getUserProjects
public Map<Project,JCRProjectMember.MemberType> getUserProjects(UserIdentity user, List<String> filteredCategories)
Get the user's projects filtered by categories- Parameters:
user
- the userfilteredCategories
- the filtered categories. Can be empty to no filter by categories- Returns:
- the user's projects
-
getUserProjects
public Map<Project,JCRProjectMember.MemberType> getUserProjects(UserIdentity user, List<String> filteredCategories, List<String> filteredKeywords)
Get the user's projects filtered by categories OR keywords- Parameters:
user
- the userfilteredCategories
- the filtered categories. Can be empty to no filter by categoriesfilteredKeywords
- the filtered keywords. Can be empty to no filter by keywords- Returns:
- the user's projects
-
getManagedProjects
public List<Project> getManagedProjects(UserIdentity user)
Get the projects managed by the user- Parameters:
user
- the user- Returns:
- the projects for which the user is a manager
-
getManagedProjects
public List<Project> getManagedProjects(UserIdentity user, List<String> filteredCategories)
Get the projects managed by the user- Parameters:
user
- the userfilteredCategories
- the filtered categories. Can be empty to no filter by categories.- Returns:
- the projects for which the user is a manager
-
hasProject
public boolean hasProject(String projectName)
Returns true if the given project exists.- Parameters:
projectName
- the project name.- Returns:
- true if the given project exists.
-
getManagers
public Set<UserIdentity> getManagers()
Get all managers- Returns:
- the managers
-
isManager
public boolean isManager()
Determines if the current user is a manager of at least one project- Returns:
- true if the user is a manager
-
isManager
public boolean isManager(UserIdentity user)
Determines if the user is a manager of at least one project- Parameters:
user
- the user- Returns:
- true if the user is a manager
-
isManager
public boolean isManager(String projectName, UserIdentity user)
Determines if the user is a manager of the project- Parameters:
projectName
- the project nameuser
- the user- Returns:
- true if the user is a manager
-
isManager
public boolean isManager(Project project, UserIdentity user)
Determines if the user is a manager of the project- Parameters:
project
- the projectuser
- the user- Returns:
- true if the user is a manager
-
canAccessBO
public boolean canAccessBO(Project project)
Can the current user access backoffice on the site of the current project- Parameters:
project
- The non null project to analyse- Returns:
- true if the user can access to the backoffice
-
getUserProjectsData
public List<Map<String,Object>> getUserProjectsData()
Retrieves the mapping of all the projects name with their title on which the current user has access- Returns:
- the map (projectName, projectTitle) for all projects
-
searchUserByProject
public Map<String,Object> searchUserByProject(String projectName, int limit, String criteria, Map<String,Object> previousSearchData)
Retrieves the users that have not been yet added to a project with a given criteria- Parameters:
projectName
- the project namelimit
- limit of requestcriteria
- the criteria of the searchpreviousSearchData
- the previous search data to compute offset. Null if first search- Returns:
- list of users
-
getProjectsData
public List<Map<String,Object>> getProjectsData()
Retrieves the mapping of all the projects name with their title (regarless user rights)- Returns:
- the map (projectName, projectTitle) for all projects
-
_project2json
protected Map<String,Object> _project2json(Project project)
Get the project's main properties as json object- Parameters:
project
- the project- Returns:
- the json representation of project
-
getProjectNames
public Collection<String> getProjectNames()
Retrieves the project names- Returns:
- the project names
-
getProjectsRoot
public ModifiableTraversableAmetysObject getProjectsRoot()
Return the root for projects The root node will be created if necessary- Returns:
- The root for projects
-
getProjectProperties
public Map<String,Object> getProjectProperties(String projectId)
Retrieves the standard information of a project- Parameters:
projectId
- Identifier of the project- Returns:
- The map of information
-
getProjectProperties
public Map<String,Object> getProjectProperties(Project project)
Retrieves the standard information of a project- Parameters:
project
- The project- Returns:
- The map of information
-
getProjectUrls
public Set<String> getProjectUrls(Project project)
Get the availables project URLs.- Parameters:
project
- The project- Returns:
- The availables project URLs, can be empty.
-
getProjectNames
public Set<String> getProjectNames(Project project)
Get the availables project names.- Parameters:
project
- The project- Returns:
- The availables project names, can be empty.
-
createProject
public Map<String,Object> createProject(String name, String title, String description, String emailList, String inscriptionStatus, String defaultProfile)
Create a project- Parameters:
name
- The project nametitle
- The project titledescription
- The project descriptionemailList
- Project mailing listinscriptionStatus
- The inscription status of the projectdefaultProfile
- The default profile for new members- Returns:
- A map containing the id of the new project or an error key.
-
createProject
public Project createProject(String name, String title, Map<String,Object> additionalValues, Set<String> modulesIds, List<String> errors)
Create a project- Parameters:
name
- The project nametitle
- The project titleadditionalValues
- A list of optional additional values. Accepted values are : description, mailingList, inscriptionStatus, defaultProfile, tags, categoryTags, keywords and languagemodulesIds
- The list of modules to activate. Can be null to activate all moduleserrors
- A list that will be populated with the encountered errors. If null, errors will not be tracked.- Returns:
- The id of the new project
-
editProject
public void editProject(String id, String title, String description, String mailingList, String inscriptionStatus, String defaultProfile)
Edit a project- Parameters:
id
- The project identifiertitle
- The title to setdescription
- The description to setmailingList
- Project mailing listinscriptionStatus
- The inscription status of the projectdefaultProfile
- The default profile for new members
-
editProject
public void editProject(Project project, String title, String description, String mailingList, String inscriptionStatus, String defaultProfile)
Edit a project- Parameters:
project
- The projecttitle
- The title to setdescription
- The description to setmailingList
- Project mailing listinscriptionStatus
- The inscription status of the projectdefaultProfile
- The default profile for new members
-
deleteProjectsByIds
public Map<String,Object> deleteProjectsByIds(List<String> ids)
Delete a list of project.- Parameters:
ids
- The ids of projects to delete- Returns:
- The ids of the deleted projects, unknowns projects and the deleted sites
-
deleteProject
public List<Map<String,String>> deleteProject(List<Project> projects)
Delete a project.- Parameters:
projects
- The list of projects to delete- Returns:
- list of deleted sites (each list entry contains a data map with the id and the name of the delete site).
-
deleteProject
public List<Map<String,String>> deleteProject(Project project)
Delete a project and its sites- Parameters:
project
- The project to delete- Returns:
- list of deleted sites (each list entry contains a data map with the id and the name of the delete site).
-
getParentProject
public Project getParentProject(String id)
Get the project of an ametys object inside a project. It can be an explorer node, or any type of resource in a module.- Parameters:
id
- The identifier of the ametys object- Returns:
- the project or null if not found
-
getParentProject
public Project getParentProject(AmetysObject object)
Get the project of an ametys object inside a project. It can be an explorer node, or any type of resource in a module.- Parameters:
object
- The ametys object- Returns:
- the project or null if not found
-
getProjectsForSite
public List<String> getProjectsForSite(String siteName)
Get the list of project names for a given site- Parameters:
siteName
- The site name- Returns:
- the list of project names
-
getProjectsForSite
public List<Project> getProjectsForSite(Site site)
Get the list of project for a given site- Parameters:
site
- The site- Returns:
- the list of project
-
_createProjectWorkspace
protected Site _createProjectWorkspace(Project project, List<String> errors)
Create the project workspace for a given project.- Parameters:
project
- The project for which the workspace must be createderrors
- A list of possible errors to populate. Can be null if the caller is not interested in error tracking.- Returns:
- The site created for this workspace
-
addTags
public void addTags(Collection<String> newTags)
Add project's tags- Parameters:
newTags
- The new tags to add
-
addPlaces
public void addPlaces(Collection<String> newPlaces)
Add project's places- Parameters:
newPlaces
- The new places to add
-
setPlaces
public void setPlaces(List<String> places)
Set the places- Parameters:
places
- The places to set
-
getModules
public List<WorkspaceModule> getModules(Project project)
Get the list of activated modules for a project- Parameters:
project
- The project- Returns:
- The list of activated modules
-
getModulePages
public Set<Page> getModulePages(Project project, String moduleId)
Retrieves the page of the module for all available languages- Parameters:
project
- The projectmoduleId
- The project module id- Returns:
- the page or null if not found
-
pageToModuleRoot
public Set<ModifiableResourceCollection> pageToModuleRoot(Page page)
Return the possible module roots associated to a page- Parameters:
page
- The given page- Returns:
- A non null set of the data of the linked modules
-
tagProjectPage
public void tagProjectPage(ModifiablePage page, ModifiableResourceCollection moduleRoot)
Mark the given page as this module page. The modified page will not be saved.- Parameters:
page
- The page to changemoduleRoot
- The workspace module that use this page
-
untagProjectPage
public void untagProjectPage(ModifiablePage page, ModifiableResourceCollection moduleRoot)
Remove the mark on the given page of this module. The modified page will not be saved.- Parameters:
page
- The page to changemoduleRoot
- The workspace module that use this page
-
getModulePages
public Set<Page> getModulePages(Project project, WorkspaceModule workspaceModule)
Get a page in the site of a given project with a specific tag- Parameters:
project
- The projectworkspaceModule
- the module- Returns:
- The module's pages
-
activateModules
public void activateModules(Project project, Set<String> moduleIds, Map<String,Object> additionalValues)
Activate the list of module of the project- Parameters:
project
- The projectmoduleIds
- The list of modules. Can be null to activate all modulesadditionalValues
- A list of optional additional values. Accepted values are : description, mailingList, inscriptionStatus, defaultProfile, tags, categoryTags, keywords and language
-
initializeModulesSitemap
public void initializeModulesSitemap(Project project, Sitemap sitemap)
Initialize the sitemap with the active module of the project- Parameters:
project
- The projectsitemap
- The sitemap
-
isModuleActivated
public boolean isModuleActivated(Project project, String moduleId)
Determines if a module is activated- Parameters:
project
- The projectmoduleId
- The id of module- Returns:
- true if the module the currently activated
-
deactivateModules
public void deactivateModules(Project project, Set<String> moduleIds)
Remove the explorer root node of the project module, remove all events related to that module and set it to deactivated- Parameters:
project
- The projectmoduleIds
- The id of module to activate
-
getProjectProfiles
public Map<String,Object> getProjectProfiles()
Get the list of profiles configured for the workspaces' projects- Returns:
- The list of profiles as JSON
-
getTags
public Set<String> getTags(List<String> projectIds)
Get the tags from the projects- Parameters:
projectIds
- The ids of the projects- Returns:
- the tags of the projects
-
tag
public Map<String,Object> tag(List<String> projectIds, List<String> tagNames, Map<String,Object> contextualParameters)
Tag the projects- Parameters:
projectIds
- the project idstagNames
- the tag namescontextualParameters
- the contextuals parameters- Returns:
- results
-
tag
public Map<String,Object> tag(List<String> projectIds, List<String> tagNames, String mode, Map<String,Object> contextualParameters)
Tag the projects- Parameters:
projectIds
- the project idstagNames
- the tag namesmode
- the mode The mode for updating tags: 'REPLACE' to replace tags, 'INSERT' to add tags or 'REMOVE' to remove tags.contextualParameters
- the contextual parameters- Returns:
- results
-
isTagValid
public boolean isTagValid(String tagName)
Test if a tag is valid- Parameters:
tagName
- The tag name- Returns:
- True if the tag is valid
-
getCatalogSiteName
public String getCatalogSiteName()
Get the site name holding the catalog of projects- Returns:
- the catalog's site name
-
getUsersDirectorySiteName
public String getUsersDirectorySiteName()
Get the site name holding the users directory- Returns:
- the users directory's site name
-
supports
public boolean supports(Event event)
Description copied from interface:Observer
Checks if the event is supported. If true, the observe(Event) method will be called.
-
getPriority
public int getPriority(Event event)
Description copied from interface:Observer
Retrieves the priority to observe this event.
This can be used to process a supported event before others observers.- Specified by:
getPriority
in interfaceObserver
- Parameters:
event
- the event.- Returns:
- the priority where 0 the max priority and Integer.MAX_VALUE the min priority.
-
observe
public void observe(Event event, Map<String,Object> transientVars) throws Exception
Description copied from interface:Observer
Observes an event.- Specified by:
observe
in interfaceObserver
- Parameters:
event
- the event.transientVars
- transientVars passed from one Observer to another when processing a single Event. This may allow optimizations between observers.- Throws:
Exception
- if an error occurs. All exceptions will be logged but not propagated, as the observation mechanism should never fail.
-
setProjectSiteTitle
public void setProjectSiteTitle(Site site, String title)
Prefix project title- Parameters:
site
- the sitetitle
- the title
-
checkRightsForProjectCreation
public void checkRightsForProjectCreation(Project.InscriptionStatus inscriptionStatus)
Check rights to create project- Parameters:
inscriptionStatus
- the inscription status
-
checkRightsForProjectEdition
public void checkRightsForProjectEdition(Project project, Project.InscriptionStatus inscriptionStatus)
Check rights to edit project- Parameters:
project
- the projectinscriptionStatus
- the inscription status
-
clearCaches
public void clearCaches()
Clear the site cache
-
_createCaches
protected void _createCaches()
Creates the caches
-
-