Exemple #1
0
 def _edit(self, **kw):
     """
   This is used to edit files
 """
     if 'file' in kw:
         file_object = kw.pop('file')
         filename = getattr(file_object, 'filename', None)
         # if file field is empty(no file is uploaded),
         # filename is empty string.
         if not filename:
             # settings the filename before calling
             # _setFile is required to setup the content_type
             # property
             filename = kw.get('filename')
         if filename:
             self._setFilename(filename)
         if file_object is not None:
             # XXX: Rather than doing nothing if empty, consider changing:
             #      - _update_image_info to clear metadata
             #      - interactions to do nothing (or else?)
             file_object.seek(0, 2)
             if file_object.tell():
                 file_object.seek(0)
                 self._setFile(file_object)
     Base._edit(self, **kw)
 def _getCategoryMembershipList(
         self,
         category,
         spec=(),
         filter=None,  #  pylint:disable=redefined-builtin
         portal_type=(),
         base=0,
         keep_default=1,
         checked_permission=None,
         **kw):
     if category == 'specialise':
         open_order_line = self.getAggregateRelatedValue(
             portal_type='Open Sale Order Line')
         return open_order_line._getCategoryMembershipList(
             category,
             spec=spec,
             filter=filter,
             portal_type=portal_type,
             base=base,
             keep_default=keep_default,
             checked_permission=checked_permission,
             **kw)
     return Base._getCategoryMembershipList(
         self,
         category,
         spec=spec,
         filter=filter,
         portal_type=portal_type,
         base=base,
         keep_default=keep_default,
         checked_permission=checked_permission,
         **kw)
Exemple #3
0
 def _experimental_aq_dynamic(self, name):
     result = Base._aq_dynamic(self, name)
     if result is not None:
         return result
     # Do some optimisation here for names which can not be names of documents
     if name.startswith('_') or name.startswith('portal_')\
         or name.startswith('aq_') or name.startswith('selection_') \
         or name.startswith('sort-') or name == 'getLayout' \
         or name == 'getListItemUrl' or name.startswith('WebSite_'):
         return None
     # Use a non recursion variable
     cache_key = 'web_site_aq_cache'
     request = self.REQUEST
     # Prevent infinite recursion
     if not request.has_key(cache_key):
         request[cache_key] = {}
     elif request[cache_key].has_key(name):
         return request[cache_key][name]
     try:
         result_list = self.portal_catalog(portal_type="Person", id=name)
         if len(result_list):
             return result_list[0].getObject()
     except:
         # Cleanup non recursion dict in case of exception
         if request[cache_key].has_key(name):
             del request[cache_key][name]
         raise
     return None
Exemple #4
0
 def _experimental_aq_dynamic(self, name):
   result = Base._aq_dynamic(self, name)
   if result is not None:
     return result
   # Do some optimisation here for names which can not be names of documents
   if name.startswith('_') or name.startswith('portal_')\
       or name.startswith('aq_') or name.startswith('selection_') \
       or name.startswith('sort-') or name == 'getLayout' \
       or name == 'getListItemUrl' or name.startswith('WebSite_'):
     return None
   # Use a non recursion variable
   cache_key = 'web_site_aq_cache'
   request = self.REQUEST
   # Prevent infinite recursion
   if not request.has_key(cache_key):
     request[cache_key] = {}
   elif request[cache_key].has_key(name):
     return request[cache_key][name]
   try:
     result_list = self.portal_catalog(portal_type="Person", id = name)
     if len(result_list):
       return result_list[0].getObject()
   except:
     # Cleanup non recursion dict in case of exception
     if request[cache_key].has_key(name):
       del request[cache_key][name]
     raise
   return None
Exemple #5
0
    def _edit(self, edit_order=(), **kw):
      # XXX FIXME For now, special cases are handled in _edit methods in many
      # documents : DeliveryLine, DeliveryCell ... Ideally, to prevent code
      # duplication, it should be handled in a _edit method present only in
      # Amount.py

      # If variations and resources are set at the same time, resource must be
      # set before any variation.
      before_order = ('resource', 'resource_value',
                      'variation_base_category_list',
                      'variation_category_list')
      before_kw = {k: kw.pop(k) for k in before_order if k in kw}
      if before_kw:
        before_kw.update((k, kw[k]) for k in edit_args_list if k in kw)
        Base._edit(self, edit_order=before_order, **before_kw)
      if kw:
        Movement._edit(self, edit_order=edit_order, **kw)
Exemple #6
0
  def _edit(self, edit_order=(), **kw):
    # XXX FIXME For now, special cases are handled in _edit methods in many
    # documents : DeliveryLine, DeliveryCell ... Ideally, to prevent code
    # duplication, it should be handled in a _edit method present only in
    # Amount.py

    # If variations and resources are set at the same time, resource must be
    # set before any variation.
    before_order = ('resource', 'resource_value',
                    'variation_base_category_list',
                    'variation_category_list')
    before_kw = {k: kw.pop(k) for k in before_order if k in kw}
    if before_kw:
      before_kw.update((k, kw[k]) for k in edit_args_list if k in kw)
      Base._edit(self, edit_order=before_order, **before_kw)
    if kw:
      Movement._edit(self, edit_order=edit_order, **kw)
Exemple #7
0
 def _getCategoryMembershipList(self, category, spec=(), filter=None,
     portal_type=(), base=0, keep_default=1, checked_permission=None, **kw):
   if category == 'specialise':
     open_order_line = self.getAggregateRelatedValue(portal_type='Open Sale Order Line')
     return open_order_line._getCategoryMembershipList(category, spec=spec, filter=filter,
                            portal_type=portal_type, base=base, keep_default=keep_default,
                            checked_permission=checked_permission, **kw)
   return Base._getCategoryMembershipList(self, category, spec=spec, filter=filter,
               portal_type=portal_type, base=base, keep_default=keep_default,
               checked_permission=checked_permission, **kw)
Exemple #8
0
 def _edit(self, **kw):
     """
   This is used to edit files
 """
     if 'file' in kw:
         file_object = kw.pop('file')
         precondition = kw.get('precondition')
         filename = getattr(file_object, 'filename', None)
         # if file field is empty(no file is uploaded),
         # filename is empty string.
         if not filename:
             # settings the filename before calling
             # _setFile is required to setup the content_type
             # property
             filename = kw.get('filename')
         if filename:
             self._setFilename(filename)
         if self._isNotEmpty(file_object):
             self._setFile(file_object, precondition=precondition)
     Base._edit(self, **kw)
Exemple #9
0
 def _edit(self, **kw):
   """
     This is used to edit files
   """
   if 'file' in kw:
     file_object = kw.pop('file')
     precondition = kw.get('precondition')
     filename = getattr(file_object, 'filename', None)
     # if file field is empty(no file is uploaded),
     # filename is empty string.
     if not filename:
       # settings the filename before calling
       # _setFile is required to setup the content_type
       # property
       filename = kw.get('filename')
     if filename:
       self._setFilename(filename)
     if self._isNotEmpty(file_object):
       self._setFile(file_object, precondition=precondition)
   Base._edit(self, **kw)
Exemple #10
0
 def __init__(self, *args, **kw):
   Base.__init__(self, *args, **kw)
   self.result_list = ConflictFreeLog()
Exemple #11
0
 def __init__(self, *args, **kw):
     Base.__init__(self, *args, **kw)
     self.result_list = ConflictFreeLog()