Пример #1
0
 def __init__(self, context, request):
     self.context = aq_inner(context)
     self.request = request
     self.embedded = True
     # Get tag manager to get sorted tags
     manager = IImageTagsManager(self.context)
     self.tags = manager.get_sorted_tags()
     # Get helper to get default image
     helper = getMultiAdapter((self.context, self.request), name="imagetags-helper")
     self.default_image = helper.image()
     # Get settings from portal_registry for ImageTags 
     registry = queryUtility(IRegistry)
     settings = registry.forInterface(IImageTagsSettings)
     self.iframe_enabled = settings.iframe_enabled
     self.taglist_height = settings.iframe_taglist_height
Пример #2
0
 def __init__(self, context, request):
     self.context = aq_inner(context)
     self.request = request
     self.embedded = True
     # Get tag manager to get sorted tags
     manager = IImageTagsManager(self.context)
     self.tags = manager.get_sorted_tags()
     # Get helper to get default image
     helper = getMultiAdapter((self.context, self.request),
                              name="imagetags-helper")
     self.default_image = helper.image()
     # Get settings from portal_registry for ImageTags
     registry = queryUtility(IRegistry)
     settings = registry.forInterface(IImageTagsSettings)
     self.iframe_enabled = settings.iframe_enabled
     self.taglist_height = settings.iframe_taglist_height
Пример #3
0
class ManageTags(BrowserView):
    """ Tag management browser view
    """
    
    implements(IManageTags)

    def __init__(self, context, request):
        self.context = aq_inner(context)
        self.request = request
        self.helper = getMultiAdapter((self.context, self.request), name="imagetags-helper")
        self.default_image = self.helper.image()
        self.manager = IImageTagsManager(self.context)
        
    def __call__(self):
        """ This browser view can be called in a get/post request to remove 
            existing tags.
        """
        request = self.request
        if 'form.widgets.remove' in request.form:
            ids = request.form['form.widgets.remove']
            removed = self.manager.remove_tags(ids=ids)
            
            if 'ajax' in request.form:
                request.response.setHeader('content-type', 'application/json; charset=utf-8')
                response_body = {'removed': [id.encode('utf-8') for id in ids]}
                response_http = json.dumps(response_body)
                request.response.setHeader('content-length', len(response_http))
                return response_http
            else:
                count_removed = len(removed)
                if count_removed==1:
                    message = _(u'${count} tag removed.', mapping={u'count': count_removed})
                elif count_removed>1:
                    message = _(u'${count} tags removed.', mapping={u'count': count_removed})
                if count_removed>0:
                    IStatusMessage(self.request).addStatusMessage(message, type='info')
   
                return self.index()
                
        else:
            return self.index()

    def url(self):
        """ This browser view url
        """
        return '%s/@@%s' % (self.context.absolute_url(), self.__name__)
         
            
    # The following methods are now provided by IImageTagsManager adapter
    def get_tag(self, id, create_on_fail=False):
        """ Get a given tag based on id.
            If create_on_fail = True, it will create a new placeholder (dictionary) if the tag is not found.
        """
        return self.manager.get_tag(id, create_on_fail)

    def get_tags(self):
        """ Get all tags
        """
        return self.manager.get_tags()
        
    def get_sorted_tags(self):
        """ Sorted list of tags
        """
        return self.manager.get_sorted_tags()
               
    def save_tag(self, data):
        """ Save a tag and create it (assigning an automatic id) if it's a new one
        """
        return self.manager.save_tag(data)
Пример #4
0
class ManageTags(BrowserView):
    """ Tag management browser view
    """

    implements(IManageTags)

    def __init__(self, context, request):
        self.context = aq_inner(context)
        self.request = request
        self.helper = getMultiAdapter((self.context, self.request),
                                      name="imagetags-helper")
        self.default_image = self.helper.image()
        self.manager = IImageTagsManager(self.context)

    def __call__(self):
        """ This browser view can be called in a get/post request to remove 
            existing tags.
        """
        request = self.request
        if 'form.widgets.remove' in request.form:
            ids = request.form['form.widgets.remove']
            removed = self.manager.remove_tags(ids=ids)

            if 'ajax' in request.form:
                request.response.setHeader('content-type',
                                           'application/json; charset=utf-8')
                response_body = {'removed': [id.encode('utf-8') for id in ids]}
                response_http = json.dumps(response_body)
                request.response.setHeader('content-length',
                                           len(response_http))
                return response_http
            else:
                count_removed = len(removed)
                if count_removed == 1:
                    message = _(u'${count} tag removed.',
                                mapping={u'count': count_removed})
                elif count_removed > 1:
                    message = _(u'${count} tags removed.',
                                mapping={u'count': count_removed})
                if count_removed > 0:
                    IStatusMessage(self.request).addStatusMessage(message,
                                                                  type='info')

                return self.index()

        else:
            return self.index()

    def url(self):
        """ This browser view url
        """
        return '%s/@@%s' % (self.context.absolute_url(), self.__name__)

    # The following methods are now provided by IImageTagsManager adapter
    def get_tag(self, id, create_on_fail=False):
        """ Get a given tag based on id.
            If create_on_fail = True, it will create a new placeholder (dictionary) if the tag is not found.
        """
        return self.manager.get_tag(id, create_on_fail)

    def get_tags(self):
        """ Get all tags
        """
        return self.manager.get_tags()

    def get_sorted_tags(self):
        """ Sorted list of tags
        """
        return self.manager.get_sorted_tags()

    def save_tag(self, data):
        """ Save a tag and create it (assigning an automatic id) if it's a new one
        """
        return self.manager.save_tag(data)