Changeset 1951

Show
Ignore:
Timestamp:
09/05/08 19:52:22 (4 months ago)
Author:
alo
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • cherokee/trunk/admin/PageAppServers.py

    r1949 r1951  
    3434            else: 
    3535                source = post.pop('source_num') 
     36                 
     37                if (post.get_val ('new_env_name') and  
     38                    post.get_val ('new_env_value')): 
     39                    self._apply_add_new_env_var(post, source) 
     40 
    3641                self.ApplyChanges ([], post) 
    37                 return self._op_render (source) 
     42                return "/%s/%s" % (self._id, source) 
    3843         
    3944        tmp = uri.split('/') 
     
    5055        self.AddMacroContent ('content', content) 
    5156        return Page.Render(self) 
     57 
     58    def _apply_add_new_env_var (self, post, source): 
     59        name  = post.pop ('new_env_name') 
     60        value = post.pop ('new_env_value') 
     61 
     62        self._cfg['source!%s!env!%s' % (source, name)] = value 
    5263 
    5364    def _apply_new_source (self, uri, post): 
     
    7182        return '/%s/%d' % (self._id, prio) 
    7283 
     84    def _render_source_details_env (self, s): 
     85        txt = '' 
     86         
     87        envs = self._cfg.keys('source!%s!env'%(s)) 
     88        if envs: 
     89            tmp = '<h3>Environment variables</h3>' 
     90            table = Table(3, title_left=1, style='width="90%%"') 
     91            for env in envs: 
     92                pre = 'source!%s!env!%s'%(s,env) 
     93                val = self.InstanceEntry(pre, 'text', size=25)  
     94                js = "post_del_key('/ajax/update', '%s');"%(pre) 
     95                link_del = self.InstanceImage ("bin.png", "Delete", border="0", onClick=js)                 
     96                table += (env, val, link_del) 
     97 
     98            tmp += self.Indent(table) 
     99            tmp += self.HiddenInput ('source_num', s) 
     100            fo = Form ("/%s"%(self._id), add_submit=False, auto=True) 
     101            txt += fo.Render(tmp) 
     102 
     103        tmp = '<h3>Add new Environment variable</h3>' 
     104        name  = self.InstanceEntry('new_env_name',  'text', size=25)  
     105        value = self.InstanceEntry('new_env_value', 'text', size=25)  
     106 
     107        table = Table(3, 1, style='width="90%%"') 
     108        table += ('Variable', 'Value', '') 
     109        table += (name, value, SUBMIT_ADD) 
     110 
     111        tmp += self.Indent (table) 
     112        tmp += self.HiddenInput ('source_num', s) 
     113        fo = Form ("/%s"%(self._id), add_submit=False, auto=False) 
     114 
     115        txt += fo.Render(tmp) 
     116        return txt 
     117 
    73118    def _render_source_details (self, s): 
    74119        txt = '' 
     
    76121        tipe = self._cfg.get_val('source!%s!type'%(s)) 
    77122 
     123        # Properties 
    78124        table = TableProps() 
    79125        self.AddPropEntry   (table, 'Nick',       'source!%s!nick'%(s), NOTE_NICK) 
    80126        self.AddPropOptions_Reload (table, 'Type','source!%s!type'%(s), SOURCE_TYPES, NOTE_TYPE) 
    81127        self.AddPropEntry   (table, 'Connection', 'source!%s!host'%(s), NOTE_HOST) 
    82         if (tipe == 'interpreter')
     128        if tipe == 'interpreter'
    83129            self.AddPropEntry (table, 'Interpreter', 'source!%s!interpreter'%(s), NOTE_INTERPRETER) 
    84130 
    85         txt += self.HiddenInput ('source_num', s) 
    86         txt += self.Indent(table) 
     131        tmp  = self.HiddenInput ('source_num', s) 
     132        tmp += str(table) 
     133         
     134        fo = Form ("/%s"%(self._id), add_submit=False, auto=True) 
     135        txt = fo.Render(tmp) 
     136 
     137        # Environment variables 
     138        if tipe == 'interpreter': 
     139            tmp = self._render_source_details_env (s) 
     140            txt += self.Indent(tmp) 
     141 
    87142        return txt 
    88143 
     
    130185            # 
    131186            nick = self._cfg.get_val('source!%s!nick'%(source)) 
    132             tmp = "<h2>Details: '%s'</h2>" % (nick) 
    133             tmp += self._render_source_details (source) 
     187            txt += "<h2>Details: '%s'</h2>" % (nick) 
     188            txt += self._render_source_details (source) 
    134189 
    135             fo1 = Form ("/%s"%(self._id), add_submit=False, auto=True) 
    136             txt += fo1.Render(tmp) 
    137190        else: 
    138191            # Add new