Changeset 3401

Show
Ignore:
Timestamp:
03/19/08 14:16:23 (7 months ago)
Author:
coderanger
Message:

Starting work on the prototype admin panel.

Files:

Legend:

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

    r3394 r3401  
    1010from trac.util.compat import sorted 
    1111 
    12 from model import Project, Prototype 
     12from tracforge.admin.model import Project, Prototype 
     13from tracforge.admin.util import locate 
    1314 
    1415class TracForgeAdminModule(Component): 
     
    3637                name = req.args.get('shortname', '').strip() 
    3738                full_name = req.args.get('fullname', '').strip() 
    38                 env_path = req.args.get('env_path', '').strip() 
    3939                proto_name = req.args.get('prototype', '').strip() 
    40                 if not (name and full_name and env_path and proto_name): 
     40                if not (name and full_name and proto_name): 
    4141                    raise TracError('All arguments are required') 
    4242                 
     
    5454                # Spawn the helper script 
    5555                helper = self.helper_script.split() 
    56                 helper += [self.env.path, proto_name, name, full_name, env_path
     56                helper += [self.env.path, proto_name, name, full_name
    5757                helper.insert(1, os.path.basename(helper[0])) 
    5858                spawn(os.P_NOWAIT, helper.pop(0), helper) 
  • tracforgeplugin/0.11/tracforge/admin/helper.py

    r3394 r3401  
    2020        'name': argv[2], 
    2121        'full_name': argv[3], 
    22         'path': argv[4], 
    2322    } 
    2423     
  • tracforgeplugin/0.11/tracforge/admin/prototypes_admin.py

    r1541 r3401  
    1 # TracForge Config Set admin panel 
     1# TracForge prototype admin panel 
    22from trac.core import * 
    33from trac.web.chrome import add_stylesheet, add_script 
     4from trac.admin.web_ui import IAdminPanelProvider 
    45 
    5 from webadmin.web_ui import IAdminPageProvider 
    6  
    7 from model import Prototype, ConfigSet 
    8 from api import IProjectSetupParticipant, TracForgeAdminSystem 
     6from tracforge.admin.model import Prototype, ConfigSet 
     7from tracforge.admin.api import IProjectSetupParticipant, TracForgeAdminSystem 
    98 
    109class TracForgePrototypesAdminModule(Component): 
     
    1312    #setup_participants = ExtensionPoint(IProjectSetupParticipant) 
    1413 
    15     implements(IAdminPageProvider) 
     14    implements(IAdminPanelProvider) 
    1615     
    17     def get_admin_pages(self, req): 
    18         if req.perm.has_permission('TRACFORGE_ADMIN')
    19             yield ('tracforge', 'TracForge', 'prototypes', 'Project Prototypes') 
     16    def get_admin_panels(self, req): 
     17        if 'TRACFORGE_ADMIN' in req.perm
     18            yield 'tracforge', 'TracForge', 'prototypes', 'Project Prototypes' 
    2019             
    2120    def process_admin_request(self, req, cat, page, path_info): 
  • tracforgeplugin/0.11/tracforge/admin/prototypes.py

    r3394 r3401  
    4545 
    4646class MakeTracEnvironmentAction(ProjectSetupParticipantBase): 
    47     """DO NOT USE. Make a new Trac environment using trac-admin initenv.""" 
     47    """Make a new Trac environment using trac-admin initenv.""" 
    4848    #capture_output = False 
    4949    def execute_setup_action(self, action, args, data, log_cb): 
    5050        from trac.admin.console import run 
    5151         
    52         return run([data['path'],  
     52        if '%s' not in args: 
     53            args = os.path.join(args, '%s') 
     54        path = args%data['name'] 
     55         
     56        return run([path,  
    5357                    'initenv',  
    5458                    data['full_name'],  
     
    6064 
    6165class MakeSubversionRepositoryAction(ProjectSetupParticipantBase): 
    62     """DO NOT USE. Make a new Subversion repository using `svnadmin create`.""" 
     66    """Make a new Subversion repository using `svnadmin create`.""" 
    6367    capture_output = False 
    6468    def execute_setup_action(self, action, args, data, log_cb): 
  • tracforgeplugin/0.11/tracforge/templates/admin_tracforge_projects.html

    r3394 r3401  
    1313  <head> 
    1414    <title>Project Admin</title> 
    15     <script type="text/javascript"> 
    16       (function($) { 
    17         $(function() { 
    18           $('#shortname').typeWatch({ 
    19             callback: function() { 
    20               $('#env_path').val('$env_base_path' + $('#shortname').val()); 
    21             }, 
    22             wait: 250 
    23           }); 
    24         }); 
    25       }(jQuery)); 
    26     </script> 
    2715  </head> 
    2816  <body> 
     
    3927            <label for="fullname">Full Name:</label> 
    4028            <input type="text" id="fullname" name="fullname" class="textwidget" /> 
    41           </div> 
    42           <div class="field"> 
    43             <label for="env_path">Environment:</label> 
    44             <input type="text" id="env_path" name="env_path" class="textwidget" size="30" /> 
    4529          </div> 
    4630          <div class="field"> 
     
    6751            <td>$proj.name</td> 
    6852            <td>$proj.full_name</td> 
    69             <td>$proj.env_path</td> 
    7053          </tr> 
    7154        </tbody>