def update(self): topic = self.context request = self.request formatter = getFormatter(request, 'fancyDatetime', 'medium') name = topic.__name__ owner = IOwnership(topic).owner profile = IPersonalProfile(owner) space = getattr(profile, 'space', None) self.name = name self.replies = len(topic)-1 self.owner = getattr(profile, 'title', '') self.avatar = profile is not None and profile.avatarUrl(request) or '#', self.personal = '%s/'%(space and absoluteURL(space, request) or '',) message = topic.lastMessage if message is not None: owner = IOwnership(message).owner profile = IPersonalProfile(owner, None) space = getattr(profile, 'space', None) self.lastmessage = { 'date': formatter.format(IDCTimes(message).modified), 'owner': getattr(profile, 'title', ''), 'personal': '%s/'%(space and absoluteURL(space,request) or '',), 'avatar': profile is not None and profile.avatarUrl(request) or '#', 'url': '%s/%s/'%(name, message.__name__)}
def listContents(self): data = super(ContentRecentContentPortlet, self).listContents() request = self.request for item in data: content = item['content'] owner = getattr(IOwnership(content, None), 'owner', None) if owner is not None: profile = IPersonalProfile(owner) item['avatar'] = profile.avatarUrl(request) item['author'] = profile.title space = profile.space if space is not None: item['profile'] = '%s/'%absoluteURL(space, request) else: item['profile'] = u'' else: item['avatar'] = u'' item['author'] = u'' item['profile'] = u'' return data
def getMemberInfo(self, id): member = self.context[id] try: principal = self.auth.getPrincipal(member.__name__) except PrincipalLookupError: return profile = IPersonalProfile(principal, None) if profile is None: return space = profile.space if space is None: return info = { 'id': principal.id, 'spaceid': space.__name__, 'title': profile.title, 'avatar': profile.avatarUrl(self.request), 'joined': self.formatter.format(member.joined), 'approved': member.approved and \ _('Approved') or _('Not yet approved'), } return info
def update(self): try: author = getUtility(IAuthentication).getPrincipal( self.context.author) except: author = None if author is not None: profile = IPersonalProfile(author) self.avatar = profile.avatarUrl(self.request) self.author = profile.title if profile.space is not None: self.url = absoluteURL(profile.space, self.request) else: self.avatar = u'%s/@@profile.avatar/0'%absoluteURL( getSite(), self.request) if author is not None or author == u'Unauthenticated User': if getattr(self.context, 'authorName'): self.author = self.context.authorName if 'social_avatar_url' in dir(self.context) and self.context.social_type: self.social_avatar = self.context.social_avatar_url if self.context.social_type==1: self.social_name = 'Twitter' elif self.context.social_type==2: self.social_name = 'Facebook' self.comment = self.context.comment content = self.context.content self.postsAllowed = ( IContentDiscussion(content).status in [1, 4] and checkPermission('zojax.AddComment', content))
def listMessages(self): service = self.context request = self.request getPrincipal = getUtility(IAuthentication).getPrincipal for msgId in service: message = service.get(msgId) try: sender = getPrincipal(message.sender) except PrincipalLookupError: sender = None title = u'' avatar = u'' space = u'' profile = IPersonalProfile(sender, None) if profile is not None: avatar = profile.avatarUrl(request) title = profile.title space = profile.space if space is not None: space = '%s/'%absoluteURL(space, request) yield {'name': message.__name__, 'status': message.__status__, 'sender': title.strip(), 'profile': space, 'date': message.__date__, 'title': message.title, 'avatar': avatar}
def update(self): queryObject = getUtility(IIntIds).queryObject self.categories = categories = [] for uid in self.context.category: category = queryObject(uid) if category is not None: categories.append(category) categories.sort(key=attrgetter('title')) self.date = IZopeDublinCore(self.context).created self.autoplay = str(self.context.autoplay).lower() if self.context.mediaSource: self.mediaURL = None else: self.mediaURL = (self.context.mediaData is not None \ and self.context.mediaData.data) \ and '%s/view.html' % absoluteURL(self.context, self.request) \ or (self.context.mediaURL or '') if self.context.mediaURLList: self.mediaURL = self.context.mediaURLList[0] mediaURLList = self.context.mediaURLList else: mediaURLList = [self.mediaURL] urls = map(lambda x: r"""{\'url\':\'%s\', \'autoPlay\': %s}""" % (urllib.quote(x[1]), \ x[0]==0 and self.autoplay or 'true'), \ enumerate(mediaURLList)) self.mediaURLListEncoded = r"\'playlist\': [%s]" % ','.join(urls) discussion = IContentDiscussion(self.context, None) self.comments = discussion is not None and len(discussion) self.discussible = discussion is not None and discussion.status != 3 self.addcomment = self.discussible and discussion.status != 2 self.tags = IContentTags(self.context, None) self.tags = self.tags is not None and self.tags.tags or [] self.url = absoluteURL(self.context, self.request) self.space = getSpace(self.context) self.container_url = absoluteURL(self.space, self.request) self.site_url = absoluteURL(getSite(), self.request) owner = IOwnership(self.context).owner space = IPersonalSpace(owner, None) profile = IPersonalProfile(owner, None) # author try: self.author = '%s %s'%(profile.firstname, profile.lastname) self.avatar_url = profile.avatarUrl(self.request) except AttributeError: self.author = getattr(owner,'title','') self.avatar_url = '#' if space is not None: self.profile_url = '%s/profile/'%absoluteURL(space, self.request) self.container_title = self.space.title include('jquery-plugins')
def update(self): context = self.context request = self.request profile = IPersonalProfile(context, None) if profile is not None: space = profile.space if space: self.profile = '%s/'%absoluteURL(space, request) self.title = profile.title self.avatar = profile.avatarUrl(request) else: self.title = _(u'Unknown')
def getMemberInfo(self, space): principal = space.principal if principal is None: return profile = IPersonalProfile(principal) avatar = profile.avatarUrl(self.request) info = { 'id': principal.id, 'spaceid': space.__name__, 'title': profile.title, 'avatar': avatar, 'member': self.context.isMember(principal.id)} return info
def update(self): request = self.request context = self.context profile = IPersonalProfile(context) self.author = profile.title self.avatar = profile.avatarUrl(request) space = profile.space if space is not None: self.profile = '%s/'%absoluteURL(space, request) else: self.profile = None self.content = profile.getProfileData() super(PrincipalView, self).update()
def query(self, default=None): principal = self.getPrincipal(self.content) if principal is not None: request = self.request profile = IPersonalProfile(principal) info = {'avatar': profile.avatarUrl(request), 'title': profile.title, 'profile': ''} space = profile.space if space is not None: info['profile'] = '%s/'%absoluteURL(space, request) return info return {'avatar': '', 'title': _('Unknown'), 'profile': ''}
def update(self): self.date = IZopeDublinCore(self.context).created self.site_url = absoluteURL(getSite(), self.request) self.space = getSpace(self.context) owner = IOwnership(self.context).owner space = IPersonalSpace(owner, None) profile = IPersonalProfile(owner, None) self.container_url = absoluteURL(self.space, self.request) # author try: self.author = '%s %s'%(profile.firstname, profile.lastname) self.avatar_url = profile.avatarUrl(self.request) except AttributeError: self.author = getattr(owner,'title','') self.avatar_url = '#' if space is not None: self.profile_url = '%s/profile/'%absoluteURL(space, self.request) self.container_title = self.space.title
def query(self, default=None): forum = self.content url = absoluteURL(self.context, self.request) siteUrl = absoluteURL(getSite(), self.request) formatter = getFormatter(self.request, 'fancyDatetime', 'medium') topic = forum.lastTopic if topic is not None: message = topic.lastMessage owner = IOwnership(message).owner profile = IPersonalProfile(owner) space = profile.space return { 'date': formatter.format( ICMFDublinCore(message).modified), 'owner': profile.title, 'profile': '%s/'%(space is not None and absoluteURL(space, self.request) or siteURL), 'avatar': profile.avatarUrl(self.request), 'title': topic.title, 'url': '%s/%s/%s/%s/'%( url, forum.__name__, topic.__name__, message.__name__)}
def update(self): record = self.context request = self.request content = record.object formatter = getFormatter(request, 'humanDatetime', 'medium') view = queryMultiAdapter((content, request), IContentViewView) try: if view is not None: url = '%s/%s'%(absoluteURL(content, request), view.name) else: url = '%s/'%absoluteURL(content, request) except: url = u'' self.url = url self.title = getattr(content, 'title', content.__name__) self.description = getattr(content, 'description', u'') self.date = formatter.format(record.date) self.content = content auth = getUtility(IAuthentication) try: principal = auth.getPrincipal(record.principal) except: principal = None if principal is not None: profile = IPersonalProfile(principal) self.avatar = profile.avatarUrl(request) self.author = profile.title space = profile.space if space is not None: self.profile = '%s/'%absoluteURL(space, request) else: self.author = _('Unknown')
def getMemberInfo(self, id): member = self.context[id] try: principal = self.auth.getPrincipal(member.__name__) except PrincipalLookupError: return profile = IPersonalProfile(principal, None) if profile is None: return space = profile.space if space is None: return info = { 'id': principal.id, 'spaceid': space.__name__, 'title': profile.title, 'avatar': profile.avatarUrl(self.request), 'member': self.context.isMember(principal.id)} return info
def getMemberInfo(self, id): try: principal = self.auth.getPrincipal(id) except PrincipalLookupError: return profile = IPersonalProfile(principal) space = profile.space if space is not None: space = u"%s/profile/" % absoluteURL(space, self.request) info = {"id": principal.id, "space": space, "title": profile.title, "avatar": profile.avatarUrl(self.request)} return info
def update(self): super(BasePostView, self).update() post = removeAllProxies(self.context) request = self.request owner = IOwnership(post).owner profile = IPersonalProfile(owner, None) space = getattr(profile, 'space', None) profileData = profile.getProfileData() self.post = post self.postUrl = absoluteURL(post, request) self.text = getattr(self.context.text, 'cooked', '') self.biography = profileData.get('about', False) self.jobtitle = profileData.get('jobtitle', False) if self.biography: self.biography = re.sub('<[^>]*>', '', self.biography.text) if len(self.biography) >= 240: self.biography = self.biography[:240].rsplit(' ', 1)[0].strip() + '...' # blog if IDraftedContent.providedBy(post): blog = post.__parent__ location = blog.getLocation() if location is not None: blog = location.get('blog') else: blog = None else: blog = post.__parent__ if IBlog.providedBy(blog): self.blog = blog self.blog_title = blog.title self.blog_url = absoluteURL(blog, request) self.tags_list = blog['tags'].listTags(post) # author try: self.author = profile.title self.avatar_url = profile.avatarUrl(request) except AttributeError: self.author = getattr(owner, 'title', '') self.avatar_url = '#' if space is not None: self.profile_url = '%s/profile/' % absoluteURL(space, request) # discussion discussion = IContentDiscussion(post, None) self.comments = discussion is not None and len(discussion) self.discussible = discussion is not None and discussion.status != 3 self.footer_discussion = self.discussible and self.comments_num # categories categories = [] ids = getUtility(IIntIds) for cId in post.category: category = ids.queryObject(cId) if category is not None: categories.append( (category.title, {'name': category.__name__, 'title': category.title})) categories.sort() self.categories = [info for t, info in categories] self.footer = self.categories or \ self.tags_list or self.footer_discussion