Changeset 3406

Show
Ignore:
Timestamp:
03/20/08 15:14:45 (10 months ago)
Author:
coderanger
Message:

Prototypes system now works.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • tracforgeplugin/0.11/tracforge/admin/prototypes_admin.py

    r3405 r3406  
    9494        if req.method == 'POST': 
    9595            proto = Prototype(self.env, '') 
     96             
    9697            for i in itertools.count(): 
    97                 a = req.args.get('step%s'%i) 
     98                a = req.args.get('step-%s'%i) 
    9899                if a is not None: 
    99                     proto.append((a, req.args[a])) 
     100                    proto.append((a, req.args['args-%s'%a])) 
    100101                else: 
    101102                    break 
     
    105106                x = proto.pop(i) 
    106107                proto.insert(i+1, x) 
     108            elif 'moveup' in req.args: 
     109                i = int(req.args['moveup']) 
     110                x = proto.pop(i) 
     111                proto.insert(i-1, x) 
     112            elif 'remove' in req.args: 
     113                i = int(req.args['remove']) 
     114                del proto[i] 
     115            elif 'add' in req.args: 
     116                proto.append((req.args['type'], '')) 
     117            elif 'save' in req.args: 
     118                proto.save() 
     119                req.redirect(req.href.admin('tracforge/prototypes', proto.tag)) 
     120            elif 'cancel' in req.args: 
     121                req.redirect(req.href.admin('tracforge/prototypes')) 
     122            elif 'delete' in req.args: 
     123                proto.tag = data['name'] 
     124                proto.delete() 
     125                req.redirect(req.href.admin('tracforge/prototypes')) 
     126             
     127            # Try to figure out the name 
     128            if action == 'new': 
     129                proto.tag = req.args['name'] 
     130            else: 
     131                proto.tag = '(modified) %s'%data['name'] 
    107132             
    108133             
  • tracforgeplugin/0.11/tracforge/htdocs/css/prototypes_new.css

    r1463 r3406  
    1414.step .step-buttons { 
    1515    float: right; 
     16} 
     17 
     18.step .step-buttons input { 
     19  margin: 0; 
     20  padding: 0; 
     21  vertical-align: top; 
    1622} 
    1723 
  • tracforgeplugin/0.11/tracforge/templates/admin_tracforge_prototype.html

    r3405 r3406  
    2020        <!--! The current steps --> 
    2121        <div py:for="i, (action, args) in enumerate(proto)" py:if="action in steps" id="step_$action" class="step"> 
    22           <input type="hidden" name="step$i" value="$action" /> 
     22          <input type="hidden" name="step-$i" value="$action" /> 
    2323          <div class="step-buttons"> 
    24             <img src="${href.chrome('tracforge/img/greyscale/x.gif')}" alt="Remove" /> 
     24            <input type="image" src="${href.chrome('tracforge/img/greyscale/x.gif')}" alt="Remove"  
     25                   name="remove" value="$i" /> 
    2526            <input type="image" src="${href.chrome('tracforge/img/greyscale/down.gif')}" alt="Down"  
    2627                   name="movedown" value="$i" /> 
    27             <img src="${href.chrome('tracforge/img/greyscale/up.gif')}" alt="Up" /> 
     28            <input type="image" src="${href.chrome('tracforge/img/greyscale/up.gif')}" alt="Up"  
     29                   name="moveup" value="$i" /> 
    2830          </div> 
    2931          <div class="step-name">$action</div> 
    30           <div class="step-args"><label>Arguments:<input type="text" name="$action" value="$args" size="50" /></label></div> 
     32          <div class="step-args"><label>Arguments:<input type="text" name="args-$action" value="$args" size="50" /></label></div> 
    3133          <hr /> 
    3234          <div class="step-text">${steps[action].description}</div> 
     
    3537        <div id="addstep" class="step"> 
    3638          <div class="step-buttons"> 
    37             <img src="${href.chrome('tracforge/img/greyscale/plus.gif')}" alt="Add" /> 
     39            <input type="image" src="${href.chrome('tracforge/img/greyscale/plus.gif')}" alt="Add" 
     40                   name="add" value="add" /> 
    3841          </div> 
    3942          <select name="type"> 
     
    5053          <py:if test="action == 'new'"> 
    5154            <label for="name">Name:</label>  
    52             <input type="text" name="name" id="name" /> 
     55            <input type="text" name="name" id="name" value="$proto.tag" /> 
    5356          </py:if> 
    5457          <input type="hidden" name="data" /> 
  • tracforgeplugin/0.11/tracforge/templates/admin_tracforge_prototypes.html

    r3405 r3406  
    1616  <body> 
    1717    <h2>Project Prototypes</h2> 
     18    <a href="${panel_href('new')}">New prototype</a> 
    1819    <ul> 
    1920      <li py:for="tag in prototypes">