Added loading of group members and actions on them.
This commit is contained in:
@@ -12,3 +12,4 @@ from .videoAlbum import videoAlbumBuffer as videoAlbum
|
||||
from .chat import chatBuffer
|
||||
from .people import peopleBuffer
|
||||
from .friendRequests import friendRequestsBuffer as requestsBuffer
|
||||
from .communityPeople import communityPeopleBuffer
|
||||
|
26
src/controller/buffers/communityPeople.py
Normal file
26
src/controller/buffers/communityPeople.py
Normal file
@@ -0,0 +1,26 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import logging
|
||||
import wx
|
||||
import widgetUtils
|
||||
from .people import peopleBuffer
|
||||
|
||||
log = logging.getLogger("controller.buffers.communityPeople")
|
||||
|
||||
class communityPeopleBuffer(peopleBuffer):
|
||||
|
||||
def get_menu(self, *args, **kwargs):
|
||||
user = self.get_post()
|
||||
m = wx.Menu()
|
||||
if user.get("can_post") == True:
|
||||
can_post = m.Append(wx.NewId(), _("&Post on user's wall"))
|
||||
widgetUtils.connect_event(m, widgetUtils.MENU, self.post, menuitem=can_post)
|
||||
if user.get("can_write_private_message") == True:
|
||||
can_write_message = m.Append(wx.Id(), _("Send message"))
|
||||
widgetUtils.connect_event(m, widgetUtils.MENU, self.new_chat, menuitem=can_write_message)
|
||||
profile = m.Append(wx.NewId(), _("View profile"))
|
||||
widgetUtils.connect_event(m, widgetUtils.MENU, self.open_person_profile, menuitem=profile)
|
||||
timeline = m.Append(wx.NewId(), _("Open timeline"))
|
||||
widgetUtils.connect_event(m, widgetUtils.MENU, self.open_timeline, menuitem=timeline)
|
||||
open_in_browser = m.Append(wx.NewId(), _("Open in vk.com"))
|
||||
widgetUtils.connect_event(m, widgetUtils.MENU, self.open_in_browser, menuitem=open_in_browser)
|
||||
return m
|
@@ -67,7 +67,6 @@ class peopleBuffer(wallBuffer):
|
||||
self.tab.new_chat.Enable(True)
|
||||
else:
|
||||
self.tab.new_chat.Enable(False)
|
||||
print(post)
|
||||
if ("last_seen" in post) == False: return
|
||||
original_date = arrow.get(post["last_seen"]["time"])
|
||||
now = arrow.now()
|
||||
|
@@ -1081,10 +1081,10 @@ class Controller(object):
|
||||
# ToDo: This needs testing in groups where the current user is not a full admin (such as moderator or editor).
|
||||
if (self.session.db["group_info"][current_buffer.group_id].get("is_admin") != None and self.session.db["group_info"][current_buffer.group_id].get("is_admin") == 1):
|
||||
pub.sendMessage("create_buffer", buffer_type="emptyBuffer", buffer_title=_("People"), parent_tab=current_buffer.tab.name, kwargs=dict(parent=self.window.tb, name=current_buffer.tab.name+"_people"))
|
||||
pub.sendMessage("create_buffer", buffer_type="peopleBuffer", buffer_title=_("Members"), parent_tab=current_buffer.name+"_people", get_items=True, kwargs=dict(parent=self.window.tb, name=current_buffer.name+"_members", composefunc="render_person", session=self.session, endpoint="getMembers", parent_endpoint="groups", count=1000, order=sorting, fields="uid, first_name, last_name, last_seen, can_post", group_id=-1*current_buffer.kwargs["owner_id"]))
|
||||
pub.sendMessage("create_buffer", buffer_type="peopleBuffer", buffer_title=_("Invited users"), parent_tab=current_buffer.name+"_people", get_items=True, kwargs=dict(parent=self.window.tb, name=current_buffer.name+"_invites", composefunc="render_person", session=self.session, endpoint="getInvitedUsers", parent_endpoint="groups", count=1000, fields="first_name, last_name, last_seen, can_post, can_write_private_message", group_id=-1*current_buffer.kwargs["owner_id"]))
|
||||
pub.sendMessage("create_buffer", buffer_type="communityPeopleBuffer", buffer_title=_("Members"), parent_tab=current_buffer.name+"_people", get_items=True, kwargs=dict(parent=self.window.tb, name=current_buffer.name+"_members", composefunc="render_person", session=self.session, endpoint="getMembers", parent_endpoint="groups", count=1000, order=sorting, fields="uid, first_name, last_name, last_seen, can_post", group_id=-1*current_buffer.kwargs["owner_id"]))
|
||||
pub.sendMessage("create_buffer", buffer_type="communityPeopleBuffer", buffer_title=_("Invited users"), parent_tab=current_buffer.name+"_people", get_items=True, kwargs=dict(parent=self.window.tb, name=current_buffer.name+"_invites", composefunc="render_person", session=self.session, endpoint="getInvitedUsers", parent_endpoint="groups", count=1000, fields="first_name, last_name, last_seen, can_post, can_write_private_message", group_id=-1*current_buffer.kwargs["owner_id"]))
|
||||
else: # Create this for non administrators.
|
||||
pub.sendMessage("create_buffer", buffer_type="peopleBuffer", buffer_title=_("Members"), parent_tab=current_buffer.tab.name, get_items=True, kwargs=dict(parent=self.window.tb, name=current_buffer.name+"_members", composefunc="render_person", session=self.session, endpoint="getMembers", parent_endpoint="groups", count=1000, order=sorting, fields="uid, first_name, last_name, last_seen, can_post, can_write_private_message", group_id=-1*current_buffer.kwargs["owner_id"]))
|
||||
pub.sendMessage("create_buffer", buffer_type="communityPeopleBuffer", buffer_title=_("Members"), parent_tab=current_buffer.tab.name, get_items=True, kwargs=dict(parent=self.window.tb, name=current_buffer.name+"_members", composefunc="render_person", session=self.session, endpoint="getMembers", parent_endpoint="groups", count=1000, order=sorting, fields="uid, first_name, last_name, last_seen, can_post, can_write_private_message", group_id=-1*current_buffer.kwargs["owner_id"]))
|
||||
|
||||
def load_community_documents(self, *args, **kwargs):
|
||||
current_buffer = self.get_current_buffer()
|
||||
|
Reference in New Issue
Block a user