Changeset 987

Show
Ignore:
Timestamp:
06/21/10 01:37:29 (2 years ago)
Author:
winfried
Message:

Updating docstrings, adding / improving invitation table. refs #103

Location:
HelpIM3/HelpIM
Files:
8 modified

Legend:

Unmodified
Added
Removed
  • HelpIM3/HelpIM/appl/site.py

    r971 r987  
    1414log = logging.getLogger('HelpIM.appl.site') 
    1515 
    16  
     16class ResourceNotFoundException(RuntimeError): 
     17    pass  
    1718 
    1819class Site(object): 
     
    495496                 } 
    496497        return menu 
    497  
    498 class ResourceNotFoundException(RuntimeError): 
    499     pass  
  • HelpIM3/HelpIM/auth/db/databaseMetadata.py

    r971 r987  
    2727    return metadata 
    2828 
    29      
     29 
    3030def get_UserTable_MetaData(metadata): 
    3131    user_table = Table( 
  • HelpIM3/HelpIM/chat/db/classes.py

    r984 r987  
    222222 
    223223class ChatInvitation(object): 
    224     pass 
     224    def __init__(self, inviter, invitee): 
     225        self.chat_Invitation_inviter_id = inviter 
     226        self.chat_Invitation_invitee_id = invitee 
     227 
     228    def __repr__(self): 
     229        if self.chat_Invitation_invitation_open: 
     230            opn = "Open" 
     231        else: 
     232            opn = "Closed" 
     233        s = "%(opn)s ChatInivitation %(id)s from %(invitername)s(%(inviterid)s) to %(inviteename)s(%(inviteeid)s)" % { 
     234            "opn": opn, 
     235            "id": self.chat_Invitation_id, 
     236            "invitername": self.invitingUser.user_userId, 
     237            "inviterid": self.invitingUser.user_id, 
     238            "inviteename": self.invitedUser.user_userId, 
     239            "inviteeid": self.invitedUser.user_id, 
     240            } 
     241        return s 
  • HelpIM3/HelpIM/chat/db/databaseMetadata.py

    r985 r987  
    66from HelpIM.chat.db.classes import ChatShift, IPBlock, ChatServerProperties, Conversation, ConversationEvent, ConversationParticipant, ConversationCareSeeker, ConversationCareWorker, ConversationalMessage, ChatConversation, ChatMessage, ConversationQuestion, ConversationFixedChoiceAnswer, ChatQueue, ConvMessageComment, ChatInvitation 
    77from HelpIM.auth.db.classes import User 
     8from HelpIM.auth.db.classes import User 
     9import HelpIM.auth.db.databaseMetadata 
    810 
    911def getMetadata(metadata): 
     
    552554               ) 
    553555        ) 
    554     mapper(ChatInvitation, chat_Invitation_table) 
    555     return metadata 
     556    try: 
     557        user_table=metadata.tables['auth_User'] 
     558    except AttributeError: 
     559        for table in self.metadata.sorted_tables: 
     560            if table.name == name: return table 
     561 
     562    mapper(ChatInvitation, chat_Invitation_table, properties={ 
     563        'invitingUser': relation(User, primaryjoin=chat_Invitation_table.c.chat_Invitation_inviter_id==user_table.c.user_id), 
     564        'invitedUser': relation(User, primaryjoin=chat_Invitation_table.c.chat_Invitation_invitee_id==user_table.c.user_id) 
     565         }) 
     566    return metadata 
  • HelpIM3/HelpIM/chat/db/services.py

    r926 r987  
    44import sys 
    55from HelpIM.auth.db.databaseMetadata import User, HIM_SessionData 
    6 from HelpIM.chat.db.databaseMetadata import ChatServerProperties, ChatShift, IPBlock, ChatConversation, Conversation, ChatQueue, ConversationCareWorker, ConversationCareSeeker, ConversationEvent, ChatMessage 
     6from HelpIM.chat.db.databaseMetadata import ChatServerProperties, ChatShift, IPBlock, ChatConversation, Conversation, ChatQueue, ConversationCareWorker, ConversationCareSeeker, ConversationEvent, ChatMessage, ChatInvitation 
    77from HelpIM.chat.db.classes import Shift_Duration, Availability_Duration 
    88from HelpIM.intranet.db.databaseMetadata import HIM_Text 
     
    1313import logging 
    1414 
    15  
     15class MissingDatabaseSession_Exception(RuntimeError): 
     16    pass  
    1617 
    1718class DatabaseServices(): 
     
    610611 
    611612 
    612  
    613            
    614 class MissingDatabaseSession_Exception(RuntimeError): 
    615     pass  
     613    def getInvitees(self, site, userId): 
     614        session = site.database.getSession() 
     615        invitees = session.query(ChatInvitation).filter( 
     616            ChatInvitation.chat_Invitation_inviter_id == userId).filter( 
     617                ChatInvitation.chat_Invitation_invitation_open==True).order_by( 
     618                    ChatInvitation.chat_Invitation_invitation_time) 
     619        return invitees 
     620 
     621    def getInvitations(self, site, userId): 
     622        session = site.database.getSession() 
     623        invitations = session.query(ChatInvitation).filter( 
     624            ChatInvitation.chat_Invitation_invitee_id == userId).filter( 
     625                ChatInvitation.chat_Invitation_invitation_open==True).order_by( 
     626                    ChatInvitation.chat_Invitation_invitation_time) 
     627        return invitations 
     628 
     629 
  • HelpIM3/HelpIM/chat/pages/StartClientWebChat.py

    r982 r987  
    44 
    55class Handler(HelpIM.chat.pages.StartWebChatBase.Handler): 
     6    """This handler takes the nickname, topic and other previously submitted 
     7       data from the database and opens a chat window where the client has 
     8       been admitted to by a previous (waiting-queue) script""" 
    69 
    710    def getRoom(self): 
  • HelpIM3/HelpIM/chat/pages/StartClientWebChatPost.py

    r982 r987  
    33 
    44class Handler(HelpIM.chat.pages.StartWebChatBase.Handler): 
     5    """This handler takes NICKNAME and TOPIC from the post variables 
     6       and tries to join a waiting sgtaff-memeber. Redericts to 
     7       /client_error.html when failing.""" 
    58 
    69    def getRoom(self): 
  • HelpIM3/HelpIM/chat/pages/StartStaffWebChatPost.py

    r982 r987  
    33 
    44class Handler(HelpIM.chat.pages.StartWebChatBase.Handler): 
     5    """This handler takes the "NICKNAME" from the post variables 
     6       and opens a chatroom for a staff-member.""" 
    57 
    68    def getRoom(self):