本文整理汇总了Python中MaKaC.webinterface.rh.collaboration.RCCollaborationAdmin.hasRights方法的典型用法代码示例。如果您正苦于以下问题:Python RCCollaborationAdmin.hasRights方法的具体用法?Python RCCollaborationAdmin.hasRights怎么用?Python RCCollaborationAdmin.hasRights使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MaKaC.webinterface.rh.collaboration.RCCollaborationAdmin
的用法示例。
在下文中一共展示了RCCollaborationAdmin.hasRights方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _checkProtection
# 需要导入模块: from MaKaC.webinterface.rh.collaboration import RCCollaborationAdmin [as 别名]
# 或者: from MaKaC.webinterface.rh.collaboration.RCCollaborationAdmin import hasRights [as 别名]
def _checkProtection(self):
from MaKaC.webinterface.rh.collaboration import RCCollaborationAdmin, RCCollaborationPluginAdmin
if not RCCollaborationAdmin.hasRights(self, None) and not RCCollaborationPluginAdmin.hasRights(
self, plugins="any"
):
base.RHDisplayBaseProtected._checkProtection(self)
示例2: getVars
# 需要导入模块: from MaKaC.webinterface.rh.collaboration import RCCollaborationAdmin [as 别名]
# 或者: from MaKaC.webinterface.rh.collaboration.RCCollaborationAdmin import hasRights [as 别名]
def getVars(self):
vars = WCSPageTemplateBase.getVars( self )
vars["IsSingleBooking"] = not CollaborationTools.getCSBookingClass(self._pluginId)._allowMultiple
vars["Conference"] = self._conf
isLecture = self._conf.getType() == 'simple_event'
vars["IsLecture"] = isLecture
underTheLimit = self._conf.getNumberOfContributions() <= self._RecordingRequestOptions["contributionLoadLimit"].getValue()
manager = self._conf.getCSBookingManager()
user = self._rh._getUser()
isManager = user.isAdmin() or RCCollaborationAdmin.hasRights(user=user) or RCCollaborationPluginAdmin.hasRights(user=user, plugins=['RecordingRequest'])
booking = manager.getSingleBooking('RecordingRequest')
initialChoose = booking is not None and booking._bookingParams['talks'] == 'choose'
initialDisplay = (self._conf.getNumberOfContributions() > 0 and underTheLimit) or (booking is not None and initialChoose)
vars["InitialChoose"] = initialChoose
vars["DisplayTalks"] = initialDisplay
vars["isManager"] = isManager
talks, rRoomFullNames, rRoomNames, recordingAbleTalks, recordingUnableTalks = getCommonTalkInformation(self._conf)
nRecordingCapable = len(recordingAbleTalks)
vars["HasRecordingCapableTalks"] = nRecordingCapable > 0
vars["NTalks"] = len(talks)
# list of "locationName:roomName" strings
vars["RecordingCapableRooms"] = rRoomFullNames
vars["NRecordingCapableContributions"] = nRecordingCapable
# we check if the event itself is recoring capable (depends on event's room)
confLocation = self._conf.getLocation()
confRoom = self._conf.getRoom()
if confLocation and confRoom and (confLocation.getName() + ":" + confRoom.getName() in rRoomNames):
topLevelRecordingCapable = True
else:
topLevelRecordingCapable = False
# Finally, this event is recoring capable if the event itself
# or one of its talks are capable or user is admin, collaboration
# manager or recording plugin manager
vars["RecordingCapable"] = topLevelRecordingCapable or nRecordingCapable > 0 or isManager
recordingAbleTalks.sort(key = Contribution.contributionStartDateForSort)
talks.sort(key = Contribution.contributionStartDateForSort)
fossil_args = dict(tz=self._conf.getTimezone(),
units='(hours)_minutes',
truncate=True)
vars["Contributions"] = fossilize(talks, IContributionRRFossil, **fossil_args)
vars["ContributionsAble"] = fossilize(recordingAbleTalks, IContributionRRFossil, **fossil_args)
vars["ContributionsUnable"] = fossilize(recordingUnableTalks, IContributionRRFossil, **fossil_args)
vars["PostingUrgency"] = postingUrgency
vars["linkToEA"] = collaborationUrlHandlers.UHCollaborationElectronicAgreement.getURL(self._conf)
vars["agreementName"] = CollaborationTools.getOptionValue("RecordingRequest", "AgreementName")
return vars
示例3: getVars
# 需要导入模块: from MaKaC.webinterface.rh.collaboration import RCCollaborationAdmin [as 别名]
# 或者: from MaKaC.webinterface.rh.collaboration.RCCollaborationAdmin import hasRights [as 别名]
def getVars( self ):
vars = wcomponents.WTemplated.getVars( self )
plugins = self._tabPlugins
singleBookingPlugins, multipleBookingPlugins = CollaborationTools.splitPluginsByAllowMultiple(plugins)
CSBookingManager = self._conf.getCSBookingManager()
bookingsS = {}
for p in singleBookingPlugins:
bookingList = CSBookingManager.getBookingList(filterByType = p.getName())
if len(bookingList) > 0:
bookingsS[p.getName()] = DictPickler.pickle(bookingList[0])
bookingsM = DictPickler.pickle(CSBookingManager.getBookingList(
sorted = True,
notify = True,
filterByType = [p.getName() for p in multipleBookingPlugins]))
vars["Conference"] = self._conf
vars["AllPlugins"] = plugins
vars["SingleBookingPlugins"] = singleBookingPlugins
vars["BookingsS"] = bookingsS
vars["MultipleBookingPlugins"] = multipleBookingPlugins
vars["BookingsM"] = bookingsM
vars["Tab"] = self._activeTab
vars["EventDate"] = formatDateTime(getAdjustedDate(nowutc(),self._conf))
from MaKaC.webinterface.rh.collaboration import RCCollaborationAdmin, RCCollaborationPluginAdmin
vars["UserIsAdmin"] = RCCollaborationAdmin.hasRights(user = self._user) or RCCollaborationPluginAdmin.hasRights(user = self._user, plugins = self._tabPlugins)
singleBookingForms = {}
multipleBookingForms = {}
JSCodes = {}
canBeNotified = {}
for plugin in singleBookingPlugins:
pluginName = plugin.getName()
templateClass = CollaborationTools.getTemplateClass(pluginName, "WNewBookingForm")
singleBookingForms[pluginName] = templateClass(self._conf, pluginName, self._user).getHTML()
for plugin in multipleBookingPlugins:
pluginName = plugin.getName()
templateClass = CollaborationTools.getTemplateClass(pluginName, "WNewBookingForm")
multipleBookingForms[pluginName] = templateClass(self._conf, pluginName, self._user).getHTML()
for plugin in plugins:
pluginName = plugin.getName()
templateClass = CollaborationTools.getTemplateClass(pluginName, "WMain")
JSCodes[pluginName] = templateClass(pluginName, self._conf).getHTML()
bookingClass = CollaborationTools.getCSBookingClass(pluginName)
canBeNotified[pluginName] = bookingClass._canBeNotifiedOfEventDateChanges
vars["SingleBookingForms"] = singleBookingForms
vars["MultipleBookingForms"] = multipleBookingForms
vars["JSCodes"] = JSCodes
vars["CanBeNotified"] = canBeNotified
return vars
示例4: getVars
# 需要导入模块: from MaKaC.webinterface.rh.collaboration import RCCollaborationAdmin [as 别名]
# 或者: from MaKaC.webinterface.rh.collaboration.RCCollaborationAdmin import hasRights [as 别名]
def getVars(self):
vars = wcomponents.WTemplated.getVars(self)
vars["HasCollaboration"] = PluginsHolder().hasPluginType("Collaboration")
vars["IsAdmin"] = RCAdmin.hasRights(self._rh)
vars["IsCollaborationAdmin"] = RCCollaborationAdmin.hasRights(self._rh)
return vars
示例5: _checkProtection
# 需要导入模块: from MaKaC.webinterface.rh.collaboration import RCCollaborationAdmin [as 别名]
# 或者: from MaKaC.webinterface.rh.collaboration.RCCollaborationAdmin import hasRights [as 别名]
def _checkProtection(self):
hasRights = (
RCCollaborationAdmin.hasRights(self)
or RCCollaborationPluginAdmin.hasRights(self, None, [self._bookingPlugin])
or RCVideoServicesManager.hasRights(self, [self._bookingPlugin])
)
if not hasRights:
CollaborationBase._checkProtection(self)
示例6: _checkCanManagePlugin
# 需要导入模块: from MaKaC.webinterface.rh.collaboration import RCCollaborationAdmin [as 别名]
# 或者: from MaKaC.webinterface.rh.collaboration.RCCollaborationAdmin import hasRights [as 别名]
def _checkCanManagePlugin(self, plugin):
isAdminOnlyPlugin = CollaborationTools.isAdminOnlyPlugin(plugin)
hasAdminRights = RCCollaborationAdmin.hasRights(self) or \
RCCollaborationPluginAdmin.hasRights(self, None, [plugin])
if not hasAdminRights and isAdminOnlyPlugin:
raise CollaborationException(_("Cannot acces service of admin-only plugin if user is not admin, for event: ") + str(self._conf.getId()) + _(" with the service ") + str(self.__class__) )
elif not hasAdminRights and not RCVideoServicesManager.hasRights(self, [plugin]):
#we check if it's an event creator / manager (this will call ConferenceModifBase._checkProtection)
CollaborationBase._checkProtection(self)
示例7: getVars
# 需要导入模块: from MaKaC.webinterface.rh.collaboration import RCCollaborationAdmin [as 别名]
# 或者: from MaKaC.webinterface.rh.collaboration.RCCollaborationAdmin import hasRights [as 别名]
def getVars(self):
vars = wcomponents.WTemplated.getVars(self)
vars["HasCollaboration"] = PluginsHolder().hasPluginType("Collaboration")
vars["HasImporter"] = PluginsHolder().hasPluginType("importer")
vars["HasChat"] = PluginsHolder().hasPluginType("InstantMessaging")
vars["IsAdmin"] = RCAdmin.hasRights(self._rh)
if PluginsHolder().hasPluginType("Collaboration"):
from MaKaC.webinterface.rh.collaboration import RCCollaborationAdmin
vars["IsCollaborationAdmin"] = RCCollaborationAdmin.hasRights(self._rh)
else:
vars["IsCollaborationAdmin"] = False
return vars
示例8: canUserManagePlugin
# 需要导入模块: from MaKaC.webinterface.rh.collaboration import RCCollaborationAdmin [as 别名]
# 或者: from MaKaC.webinterface.rh.collaboration.RCCollaborationAdmin import hasRights [as 别名]
def canUserManagePlugin(cls, conference, plugin, user):
""" Utility function that returns if a user can interact with a plugin inside an event,
depending on the plugin, the user, and the event where the user tries to see a plugin page
or change a plugin object
"""
csbm = conference.getCSBookingManager()
from MaKaC.webinterface.rh.collaboration import RCCollaborationAdmin
isAdminUser = RCCollaborationAdmin.hasRights(user = user)
isAdminOnlyPlugin = cls.isAdminOnlyPlugin(plugin)
canSee = (
isAdminUser or
user in plugin.getOption('admins').getValue() or
not isAdminOnlyPlugin and (conference.canUserModify(user) or
csbm.isVideoServicesManager(user) or
csbm.isPluginManager(plugin.getName(), user) ) )
return canSee
示例9: getVars
# 需要导入模块: from MaKaC.webinterface.rh.collaboration import RCCollaborationAdmin [as 别名]
# 或者: from MaKaC.webinterface.rh.collaboration.RCCollaborationAdmin import hasRights [as 别名]
def getVars(self):
vars = WCSPageTemplateBase.getVars(self)
vars["Conference"] = self._conf
vars["IsSingleBooking"] = not CollaborationTools.getCSBookingClass(self._pluginId)._allowMultiple
isLecture = self._conf.getType() == "simple_event"
vars["IsLecture"] = isLecture
underTheLimit = (
self._conf.getNumberOfContributions() <= self._WebcastRequestOptions["contributionLoadLimit"].getValue()
)
manager = self._conf.getCSBookingManager()
user = self._rh._getUser()
isManager = (
user.isAdmin()
or RCCollaborationAdmin.hasRights(user=user)
or RCCollaborationPluginAdmin.hasRights(user=user, plugins=["WebcastRequest"])
)
booking = manager.getSingleBooking("WebcastRequest")
initialChoose = booking is not None and booking._bookingParams["talks"] == "choose"
initialDisplay = (self._conf.getNumberOfContributions() > 0 and underTheLimit) or (
booking is not None and initialChoose
)
vars["DisplayTalks"] = initialDisplay
vars["InitialChoose"] = initialChoose
vars["isManager"] = isManager
talks, wcRoomFullNames, wcRoomNames, webcastAbleTalks, webcastUnableTalks = getCommonTalkInformation(self._conf)
nWebcastCapable = len(webcastAbleTalks)
vars["HasWebcastCapableTalks"] = nWebcastCapable > 0
vars["NTalks"] = len(talks)
# list of "locationName:roomName" strings
vars["WebcastCapableRooms"] = wcRoomFullNames
vars["NWebcastCapableContributions"] = nWebcastCapable
# we see if the event itself is webcast capable (depends on event's room)
confLocation = self._conf.getLocation()
confRoom = self._conf.getRoom()
if confLocation and confRoom and (confLocation.getName() + ":" + confRoom.getName() in wcRoomNames):
topLevelWebcastCapable = True
else:
topLevelWebcastCapable = False
# Finally, this event is webcast capable if the event itself or
# or one of its talks are capable or user is admin, collaboration
# manager or webcast plugin manager
vars["WebcastCapable"] = topLevelWebcastCapable or nWebcastCapable > 0 or isManager
if initialDisplay:
webcastAbleTalks.sort(key=Contribution.contributionStartDateForSort)
fossil_args = dict(tz=self._conf.getTimezone(), units="(hours)_minutes", truncate=True)
vars["Contributions"] = fossilize(talks, IContributionWRFossil, **fossil_args)
vars["ContributionsAble"] = fossilize(webcastAbleTalks, IContributionWRFossil, **fossil_args)
vars["ContributionsUnable"] = fossilize(webcastUnableTalks, IContributionWRFossil, **fossil_args)
else:
vars["Contributions"] = []
vars["ContributionsAble"] = []
vars["ContributionsUnable"] = []
vars["Audiences"] = CollaborationTools.getOptionValue("WebcastRequest", "webcastAudiences")
vars["linkToEA"] = collaborationUrlHandlers.UHCollaborationElectronicAgreement.getURL(self._conf)
vars["agreementName"] = CollaborationTools.getOptionValue("WebcastRequest", "AgreementName")
return vars
示例10: _hasAccess
# 需要导入模块: from MaKaC.webinterface.rh.collaboration import RCCollaborationAdmin [as 别名]
# 或者: from MaKaC.webinterface.rh.collaboration.RCCollaborationAdmin import hasRights [as 别名]
def _hasAccess(self, aw):
return RCCollaborationAdmin.hasRights(user=aw.getUser())
示例11: getVars
# 需要导入模块: from MaKaC.webinterface.rh.collaboration import RCCollaborationAdmin [as 别名]
# 或者: from MaKaC.webinterface.rh.collaboration.RCCollaborationAdmin import hasRights [as 别名]
def getVars(self):
vars = wcomponents.WTemplated.getVars(self)
plugins = self._tabPlugins
singleBookingPlugins, multipleBookingPlugins = CollaborationTools.splitPluginsByAllowMultiple(plugins)
csBookingManager = self._conf.getCSBookingManager()
bookingsS = {}
for p in singleBookingPlugins:
bookingList = csBookingManager.getBookingList(filterByType = p.getId())
if len(bookingList) > 0:
bookingsS[p.getId()] = fossilize(bookingList[0]) #will use ICSBookingConfModifBaseFossil or inheriting fossil
bookingsM = fossilize(csBookingManager.getBookingList(
sorted = True,
notify = True,
filterByType = [p.getName() for p in multipleBookingPlugins])) #will use ICSBookingConfModifBaseFossil or inheriting fossil
vars["Conference"] = self._conf
vars["AllPlugins"] = plugins
vars["SingleBookingPlugins"] = singleBookingPlugins
vars["BookingsS"] = bookingsS
vars["MultipleBookingPlugins"] = multipleBookingPlugins
vars["BookingsM"] = bookingsM
vars["Tab"] = self._activeTab
vars["EventDate"] = formatDateTime(getAdjustedDate(nowutc(), self._conf))
from MaKaC.webinterface.rh.collaboration import RCCollaborationAdmin, RCCollaborationPluginAdmin, RCVideoServicesUser
vars["UserIsAdmin"] = RCCollaborationAdmin.hasRights(user = self._user) or RCCollaborationPluginAdmin.hasRights(user = self._user, plugins = self._tabPlugins)
hasCreatePermissions = {}
videoServSupport = {}
for plugin in plugins:
pname = plugin.getName()
hasCreatePermissions[pname] = RCVideoServicesUser.hasRights(user = self._user, pluginName = pname)
videoServSupport[pname] = plugin.getOption("contactSupport").getValue() if plugin.hasOption("contactSupport") else ""
vars["HasCreatePermissions"] = hasCreatePermissions
vars["VideoServiceSupport"] = videoServSupport
singleBookingForms = {}
multipleBookingForms = {}
jsCodes = {}
canBeNotified = {}
for plugin in singleBookingPlugins:
pluginId = plugin.getId()
templateClass = CollaborationTools.getTemplateClass(pluginId, "WNewBookingForm")
singleBookingForms[pluginId] = templateClass(self._conf, plugin.getId(), self._user).getHTML()
for plugin in multipleBookingPlugins:
pluginId = plugin.getId()
templateClass = CollaborationTools.getTemplateClass(pluginId, "WNewBookingForm")
newBookingFormHTML = templateClass(self._conf, plugin.getId(), self._user).getHTML()
advancedTabClass = CollaborationTools.getTemplateClass(pluginId, "WAdvancedTab")
if advancedTabClass:
advancedTabClassHTML = advancedTabClass(self._conf, plugin.getId(), self._user).getHTML()
else:
advancedTabClassHTML = WConfModifCollaborationDefaultAdvancedTab(self._conf, plugin, self._user).getHTML()
multipleBookingForms[pluginId] = (newBookingFormHTML, advancedTabClassHTML)
for plugin in plugins:
pluginId = plugin.getId()
templateClass = CollaborationTools.getTemplateClass(pluginId, "WMain")
jsCodes[pluginId] = templateClass(self._conf, plugin.getId(), self._user).getHTML()
bookingClass = CollaborationTools.getCSBookingClass(pluginId)
canBeNotified[pluginId] = bookingClass._canBeNotifiedOfEventDateChanges
vars["SingleBookingForms"] = singleBookingForms
vars["MultipleBookingForms"] = multipleBookingForms
vars["JSCodes"] = jsCodes
vars["CanBeNotified"] = canBeNotified
return vars
示例12: _checkProtection
# 需要导入模块: from MaKaC.webinterface.rh.collaboration import RCCollaborationAdmin [as 别名]
# 或者: from MaKaC.webinterface.rh.collaboration.RCCollaborationAdmin import hasRights [as 别名]
def _checkProtection(self):
if not RCCollaborationAdmin.hasRights(self) and not RCCollaborationPluginAdmin.hasRights(self, None, [self._bookingPlugin]):
raise CollaborationException(_("You don't have the rights to perform this operation on this booking"))