Changeset 1375 for HelpIM3

Show
Ignore:
Timestamp:
01/04/11 17:13:38 (17 months ago)
Author:
zeank
Message:

log when user leaves a room

refs #247

Location:
HelpIM3/branches/chatgroups/HelpIM
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • HelpIM3/branches/chatgroups/HelpIM/bot/bot.py

    r1374 r1375  
    698698            return False 
    699699        roomname = self.room_state.room_jid.as_unicode() 
    700         from datetime import datetime 
    701         user.left_at = datetime.now() 
    702         self.site.session.flush() 
     700        room = self.get_helpim_room() 
     701 
     702        groupServices.setChatgroupMeetingParticipantLeft( 
     703            self.site, 
     704            room.chat_id, 
     705            user.nick) 
     706 
    703707        if self.userkicked == user.nick or self.closingDown: 
    704708            self.userkicked = '' 
    705709            log.notice("Kicked user '%s' has left room '%s'." % (user.nick, roomname)) 
    706710            return False 
    707         room = self.get_helpim_room() 
     711 
    708712        status = room.getStatus() 
    709713        nUsers = len(self.room_state.users) -1 # -1 for not counting the bot itself 
  • HelpIM3/branches/chatgroups/HelpIM/chatgroup/db/services.py

    r1372 r1375  
    168168    """ ChatgroupMeetingParticipant """ 
    169169 
    170     def getChatgroupMeetingParticipantsByMeetingId(self, site, meeting_id, is_admin=None): 
     170    def getChatgroupMeetingParticipantsByMeetingId(self, site, meeting_id, is_admin=None, raiseError=False): 
    171171        session = site.database.getSession() 
    172172        query = session.query(ChatgroupMeetingParticipant).filter_by(meeting_id=meeting_id) 
     
    179179            if raiseError: 
    180180                raise 
    181          
     181 
     182    def setChatgroupMeetingParticipantLeft(self, site, meeting_id, nickname, raiseError=False): 
     183        try:  
     184            from datetime import datetime 
     185            participant = site.session.query(ChatgroupMeetingParticipant).filter_by(meeting_id=meeting_id).filter_by(conv_participant_name=nickname).one() 
     186            participant.left_at = datetime.now() 
     187            site.session.flush() 
     188        except NoResultFound: 
     189            if raiseError: 
     190                raise 
    182191 
    183192    def getChatgroupMeetingByMember(self, site, member):