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()
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()
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)
def description(self): # TODO check this string, by extract it for add i18n support return _(u'%s is followed by:') % self.data['fullname']