Changeset 1163

Show
Ignore:
Timestamp:
08/31/10 03:44:27 (18 months ago)
Author:
winfried
Message:

Integrating CHI post system into WebChatPost? pagees.
Authentication still needs to be done.

Location:
HelpIM3/HelpIM/chat/pages
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • HelpIM3/HelpIM/chat/pages/ChatEmbeddedStatus.py

    r1162 r1163  
    11from HelpIM.web.pageBase import PageBase 
     2import HelpIM.rooms 
    23 
    34class Handler(PageBase): 
     
    1516    def getWebPage(self, *pargs, **kwargs): 
    1617        self.site = kwargs['him_request'].site 
    17         if self.site.rooms.getStaffWaiting(): 
     18        rooms = HelpIM.rooms.Rooms(self.site.application.metadata, engine=self.site.database.engine) 
     19        if rooms.getStaffWaiting(): 
    1820            # we are open 
    1921            status = "OK" 
    20         elif self.site.rooms.getChatting(): 
     22        elif rooms.getChatting(): 
    2123            # we are full 
    22             status = "CLOSED" 
     24            status = "BUSY" 
    2325        else: 
    2426            # we are closed 
    25             status = "BUSY" 
     27            status = "CLOSED" 
    2628        return "text/plain; charset=utf-8", status 
  • HelpIM3/HelpIM/chat/pages/StartClientWebChatPost.py

    r987 r1163  
    88 
    99    def getRoom(self): 
     10        if not self.posted: 
     11            return None 
    1012        rooms = HelpIM.rooms.Rooms(self.site.application.metadata, engine=self.site.database.engine) 
    1113        room = rooms.admitClient(2) 
     
    1820        self.configs["NICKNAME"]=self.him_request.requestParameters["NICKNAME"] 
    1921        self.configs["TOPIC"] = self.him_request.requestParameters["TOPIC"] 
     22        for key in HelpIM.chat.templates.Chat.defaultTranslations: 
     23            if key in self.him_request.requestParameters.keys(): 
     24                self.translations[key] = self.him_request.requestParameters[key] 
    2025 
    21     def handlePost(self, him_request): 
    22         # accept postdata, missing data will be compensated later on 
    23         him_request.actionResult = None 
    24         return him_request 
    25  
  • HelpIM3/HelpIM/chat/pages/StartStaffWebChatPost.py

    r987 r1163  
    11import HelpIM.rooms 
    22import HelpIM.chat.pages.StartWebChatBase 
     3import HelpIM.chat.templates.Chat 
    34 
    45class Handler(HelpIM.chat.pages.StartWebChatBase.Handler): 
     
    78 
    89    def getRoom(self): 
     10        # add check for configured cookieDb authentication here 
     11        # and do it ;-) 
     12        # this is a bit of a hack (awaiting for a authentication rewrite) 
     13        # but he, it works 
     14        if not self.posted: 
     15            return None 
    916        rooms = HelpIM.rooms.Rooms(self.site.application.metadata, engine=self.site.database.engine) 
    1017        room = rooms.admitStaff(1) 
     
    1623    def updateConfigs(self): 
    1724        self.configs["NICKNAME"]=self.him_request.requestParameters["NICKNAME"] 
     25        for key in HelpIM.chat.templates.Chat.defaultTranslations: 
     26            if key in self.him_request.requestParameters.keys(): 
     27                self.translations[key] = self.him_request.requestParameters[key] 
    1828        self.configs["ISSTAFF"]=True 
    1929 
    20     def handlePost(self, him_request): 
    21         # accept postdata, missing data will be compensated later on 
    22         him_request.actionResult = None 
    23         return him_request 
  • HelpIM3/HelpIM/chat/pages/StartWebChatBase.py

    r1123 r1163  
    3131""" 
    3232 
     33methodNotAllowed = """ 
     34<html> 
     35<head> 
     36<title>403 Method Not Allowed</title> 
     37</head> 
     38<body> 
     39<h1>Method Not Allowed</h1> 
     40<p>The used request method is not allowed for this request.</p> 
     41<p>HelpIM error code: 1403.</p> 
     42</body> 
     43</html> 
     44""" 
    3345 
    3446translations = { 
     
    8092        self.panelName = '' 
    8193        self.startupLines = [] 
     94        self.translations = translations 
     95        self.posted = False 
    8296 
    8397    def getRoom(self): 
     
    108122        chatName = self.site.siteConfig.dictOf__Text.get('chatName', 'training chat') 
    109123        title = "%s - %s" % (organisation.value, chatName.value) 
    110         translations['TITLE'] = title 
    111         translations['CLIENTSTART'] = "Welkom in de %s %s" % (organisation.value, chatName.value) 
     124        self.translations['TITLE'] = title 
     125        self.translations['CLIENTSTART'] = "Welkom in de %s %s" % (organisation.value, chatName.value) 
    112126        self.room = self.getRoom() 
    113127        self.site.flush(self.site) 
     
    132146        # write template 
    133147        template = HelpIM.chat.templates.Chat.Template() 
    134         return "text/html; charset=utf-8", template.compose(translations, self.configs) 
     148        return "text/html; charset=utf-8", template.compose(self.translations, self.configs) 
    135149 
    136150    def showSession(self): 
     
    140154        # accept postdata 
    141155        # might be overwritten, or missing data can be compensated later on 
     156        self.posted = True 
    142157        him_request.actionResult = None 
    143158        return him_request