Example #1
0
    def __call__(self):
        """ """
        self.context = api.portal.get()
        if not getattr(self, 'item_id', False):
            raise KeyError(
                _('No item id given in sub-path. '
                  'Use .../@@toggle-like/123456')
            )
        if not self.validate_id(self.item_id):
            return 'No valid item-id'

        self.current_user_id = api.user.get_current().getId()
        if not self.current_user_id:
            return 'No user-id'

        self.util = getUtility(ILikesTool)

        self.is_liked = self.util.is_item_liked_by_user(
            item_id=self.item_id,
            user_id=self.current_user_id,
        )

        # toogle like only if the button is clicked
        if 'like_button' in self.request:
            if not self.is_liked:
                self.util.like(
                    item_id=self.item_id,
                    user_id=self.current_user_id,
                )
            else:
                self.util.unlike(
                    item_id=self.item_id,
                    user_id=self.current_user_id,
                )
            self.is_liked = not self.is_liked

        if self.is_liked:
            self.verb = _(u'Unlike')
        else:
            self.verb = _(u'Like')
        self.unique_id = uuid.uuid4().hex
        return self.index()
Example #2
0
    def __call__(self):
        """ """
        self.context = api.portal.get()
        if not getattr(self, 'item_id', False):
            raise KeyError(
                _('No item id given in sub-path. '
                  'Use .../@@toggle-like/123456'))
        if not self.validate_id(self.item_id):
            return 'No valid item-id'

        self.current_user_id = api.user.get_current().getId()
        if not self.current_user_id:
            return 'No user-id'

        self.util = getUtility(ILikesTool)

        self.is_liked = self.util.is_item_liked_by_user(
            item_id=self.item_id,
            user_id=self.current_user_id,
        )

        # toogle like only if the button is clicked
        if 'like_button' in self.request:
            if not self.is_liked:
                self.util.like(
                    item_id=self.item_id,
                    user_id=self.current_user_id,
                )
            else:
                self.util.unlike(
                    item_id=self.item_id,
                    user_id=self.current_user_id,
                )
            self.is_liked = not self.is_liked

        if self.is_liked:
            self.verb = _(u'Unlike')
        else:
            self.verb = _(u'Like')
        self.unique_id = uuid.uuid4().hex
        return self.index()
Example #3
0
class FollowersView(AbstractGraph):

    implements(IPublishTraverse, IViewView)
    index = ViewPageTemplateFile('templates/graph.pt')
    Title = _(u'Followers')

    @property
    def description(self):
        # TODO check this string, by extract it for add i18n support
        return _(u'%s is followed by:') % self.data['fullname']

    def users(self):
        return self.graph.get_followers(self.userid)
Example #4
0
 def description(self):
     # TODO check this string, by extract it for add i18n support
     return _(u'%s is followed by:') % self.data['fullname']