[Erp5-report] r28231 - /erp5/trunk/products/ERP5/Document/Alarm.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Jul 31 09:50:11 CEST 2009


Author: yo
Date: Fri Jul 31 09:50:09 2009
New Revision: 28231

URL: http://svn.erp5.org?rev=28231&view=rev
Log:
Fix security declarations. Especially, methods which may modify data in a portal are now protected by Manage portal. Also, remove some unused imports, and add a missing import.

Modified:
    erp5/trunk/products/ERP5/Document/Alarm.py

Modified: erp5/trunk/products/ERP5/Document/Alarm.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/Alarm.py?rev=28231&r1=28230&r2=28231&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/Alarm.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/Alarm.py [utf8] Fri Jul 31 09:50:09 2009
@@ -1,6 +1,6 @@
 ##############################################################################
 #
-# Copyright (c) 2004, 2007 Nexedi SARL and Contributors. All Rights Reserved.
+# Copyright (c) 2004,2007,2009 Nexedi SA and Contributors. All Rights Reserved.
 #                    Sebastien Robin <seb at nexedi.com>
 #
 # WARNING: This program as such is intended to be used by professional
@@ -31,16 +31,13 @@
 import zope.interface
 from AccessControl import ClassSecurityInfo
 from Products.CMFCore.utils import getToolByName
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
+from Products.ERP5Type import Permissions, PropertySheet
 from Products.ERP5Type.XMLObject import XMLObject
-from Products.ERP5Type.Base import WorkflowMethod
-from Acquisition import aq_base, aq_parent, aq_inner, aq_acquire
-from Products.CMFCore.utils import getToolByName
+from Acquisition import aq_base
 from DateTime import DateTime
 from Products.ERP5Type.Message import Message
 from Products.ERP5Type.DateUtils import addToDate
-
-from zLOG import LOG
+from Products.CMFCore.PortalContent import _getViewFor
 
 class PeriodicityMixin:
   """
@@ -132,6 +129,7 @@
     elif len(periodicity_month_list) > 0:
       return date.month() in periodicity_month_list
 
+  security.declareProtected(Permissions.AccessContentsInformation, 'getNextPeriodicalDate')
   def getNextPeriodicalDate(self, current_date, next_start_date=None):
     """
     Get the next date where this periodic event should start.
@@ -192,14 +190,14 @@
     return next_start_date
 
   # XXX May be we should create a Date class for following methods ???
-  security.declareProtected(Permissions.View, 'getWeekDayList')
+  security.declareProtected(Permissions.AccessContentsInformation, 'getWeekDayList')
   def getWeekDayList(self):
     """
     returns something like ['Sunday','Monday',...]
     """
     return DateTime._days
 
-  security.declareProtected(Permissions.View, 'getWeekDayItemList')
+  security.declareProtected(Permissions.AccessContentsInformation, 'getWeekDayItemList')
   def getWeekDayItemList(self):
     """
     returns something like [('Sunday', 'Sunday'), ('Monday', 'Monday'),...]
@@ -207,7 +205,7 @@
     return [(Message(domain='erp5_ui', message=x), x) \
             for x in self.getWeekDayList()]
 
-  security.declareProtected(Permissions.View, 'getWeekDayItemList')
+  security.declareProtected(Permissions.AccessContentsInformation, 'getWeekDayItemList')
   def getMonthItemList(self):
     """
     returns something like [('January', 1), ('February', 2),...]
@@ -216,7 +214,7 @@
     return [(Message(domain='erp5_ui', message=DateTime._months[i]), i) \
             for i in range(1, len(DateTime._months))]
 
-  security.declareProtected(Permissions.View,'getPeriodicityWeekDayList')
+  security.declareProtected(Permissions.AccessContentsInformation,'getPeriodicityWeekDayList')
   def getPeriodicityWeekDayList(self):
     """
     Make sure that the list of days is ordered
@@ -272,7 +270,7 @@
                     , PropertySheet.Alarm
                     )
 
-  security.declareProtected(Permissions.View, 'isActive')
+  security.declareProtected(Permissions.AccessContentsInformation, 'isActive')
   def isActive(self):
     """
     This method returns only True or False. 
@@ -284,7 +282,7 @@
     """
     return self.hasActivity(only_valid=1)
 
-  security.declareProtected(Permissions.ModifyPortalContent, 'activeSense')
+  security.declareProtected(Permissions.ManagePortal, 'activeSense')
   def activeSense(self, fixit=0):
     """
     This method launches the sensing process as activities.
@@ -325,7 +323,7 @@
       if self.isAlarmNotificationMode():
         self.activate(after_tag=tag).notify(include_active=True)
 
-  security.declareProtected(Permissions.ModifyPortalContent, 'sense')
+  security.declareProtected(Permissions.ManagePortal, 'sense')
   def sense(self, process=None):
     """
     This method returns True or False. False for no problem, True for problem.
@@ -413,7 +411,7 @@
     else:
       return list_action(process=process, reset=reset)
 
-  security.declareProtected(Permissions.ModifyPortalContent, 'solve')
+  security.declareProtected(Permissions.ManagePortal, 'solve')
   def solve(self):
     """
     This method tries resolve a problems detected by an Alarm
@@ -429,7 +427,7 @@
       return method()
     return self.activeSense(fixit=1)
 
-  security.declareProtected(Permissions.ModifyPortalContent, 'notify')
+  security.declareProtected(Permissions.ManagePortal, 'notify')
   def notify(self, include_active=False):
     """
     This method is called to notify people that some alarm has
@@ -483,7 +481,7 @@
 """ % (self.getTitle(), self.getDescription(), self.absolute_url()),
                                   attachment_list=attachment_list)
 
-  security.declareProtected(Permissions.View, 'getLastActiveProcess')
+  security.declareProtected(Permissions.ManagePortal, 'getLastActiveProcess')
   def getLastActiveProcess(self, include_active=False):
     """
     This returns the last active process finished. So it will
@@ -503,7 +501,7 @@
       process = active_process_list[-1].getObject()
     return process
 
-  security.declareProtected(Permissions.ModifyPortalContent, 
+  security.declareProtected(Permissions.ManagePortal, 
                             'newActiveProcess')
   def newActiveProcess(self, **kw):
     """
@@ -522,7 +520,7 @@
                                                         **kw)
     return active_process
 
-  security.declareProtected(Permissions.View, 'setNextAlarmDate')
+  security.declareProtected(Permissions.ModifyPortalContent, 'setNextAlarmDate')
   def setNextAlarmDate(self, current_date=None):
     """
     Save the next alarm date
@@ -541,7 +539,7 @@
       self.Alarm_zUpdateAlarmDate(uid=self.getUid(), 
                                   alarm_date=next_start_date)
 
-  security.declareProtected(Permissions.View, 'getAlarmDate')
+  security.declareProtected(Permissions.AccessContentsInformation, 'getAlarmDate')
   def getAlarmDate(self):
     """
     returns something like ['Sunday','Monday',...]




More information about the Erp5-report mailing list