Ticket #20: usermanagement.diff
| File usermanagement.diff, 9.6 kB (added by charlie.clark@yellowtab.com, 3 years ago) |
|---|
-
webadmin/__init__.py
old new 4 4 from webadmin.perm import * 5 5 from webadmin.plugin import * 6 6 from webadmin.ticket import * 7 from webadmin.user import * -
webadmin/ticket.py
old new 34 34 35 35 def process_admin_request(self, req, cat, page, component): 36 36 req.perm.assert_permission('TICKET_ADMIN') 37 roles = self.env.get_roles() 38 status = self.env.get_status() 39 req.hdf['admin.roles'] = roles 40 req.hdf['admin.status'] = status 37 41 38 42 # Detail view? 39 43 if component: … … 43 47 comp.name = req.args.get('name') 44 48 comp.owner = req.args.get('owner') 45 49 comp.description = req.args.get('description') 50 comp.role = req.args.get('role') 51 comp.status = req.args.get('status') 46 52 comp.update() 47 53 req.redirect(self.env.href.admin(cat, page)) 48 54 elif req.args.get('cancel'): … … 51 57 req.hdf['admin.component'] = { 52 58 'name': comp.name, 53 59 'owner': comp.owner, 54 'description': comp.description 60 'description': comp.description, 61 'role': comp.role, 62 'status': comp.status 55 63 } 64 56 65 else: 57 66 if req.method == 'POST': 58 67 # Add Component … … 61 70 comp.name = req.args.get('name') 62 71 if req.args.get('owner'): 63 72 comp.owner = req.args.get('owner') 73 comp.role = req.args.get('role') 74 comp.status = req.args.get('status') 75 self.env.log.debug(str(req.args)) 64 76 comp.insert() 65 77 req.redirect(self.env.href.admin(cat, page)) 66 78 … … 87 99 req.redirect(self.env.href.admin(cat, page)) 88 100 89 101 default = self.config.get('ticket', 'default_component') 102 90 103 req.hdf['admin.components'] = \ 91 104 [{'name': c.name, 'owner': c.owner, 92 105 'is_default': c.name == default, 93 'href': self.env.href.admin(cat, page, c.name) 94 } for c in ticket.Component.select(self.env)] 106 'href': self.env.href.admin(cat, page, c.name), 107 'role': c.role, 108 'status': c.status 109 } for c in ticket.Component.select(self.env, roles=roles, status=status)] 110 req.hdf['admin.roles'] = roles 95 111 96 112 97 113 restrict_owner = self.config.get('ticket', 'restrict_owner') … … 106 122 107 123 implements(IAdminPageProvider) 108 124 125 109 126 # IAdminPageProvider 110 127 def get_admin_pages(self, req): 111 128 if req.perm.has_permission('TICKET_ADMIN'): 112 129 yield ('ticket', 'Ticket System', 'versions', 'Versions') 113 130 131 114 132 def process_admin_request(self, req, cat, page, version): 115 133 req.perm.assert_permission('TICKET_ADMIN') 134 roles = self.env.get_roles() 135 status = self.env.get_status() 136 req.hdf['admin.roles'] = roles 137 req.hdf['admin.status'] = status 116 138 117 139 # Detail view? 118 140 if version: … … 123 145 if req.args.get('time'): 124 146 ver.time = util.parse_date(req.args.get('time')) 125 147 ver.description = req.args.get('description') 148 ver.role = req.args.get('role') 149 ver.status = req.args.get('status') 126 150 ver.update() 127 151 req.redirect(self.env.href.admin(cat, page)) 128 152 elif req.args.get('cancel'): … … 131 155 req.hdf['admin.version'] = { 132 156 'name': ver.name, 133 157 'time': ver.time and util.format_datetime(ver.time) or '', 134 'description': ver.description 158 'description': ver.description, 159 'role': ver.role, 160 'status': ver.status 135 161 } 162 req.hdf['admin.roles'] = roles 163 req.hdf['admin.status'] = status 164 136 165 else: 137 166 if req.method == 'POST': 138 167 # Add Version … … 141 170 ver.name = req.args.get('name') 142 171 if req.args.get('time'): 143 172 ver.time = util.parse_date(req.args.get('time')) 173 ver.role = req.args.get('role') 174 ver.status = req.args.get('status') 144 175 ver.insert() 145 176 req.redirect(self.env.href.admin(cat, page)) 146 177 … … 171 202 [{'name': v.name, 172 203 'time': v.time and util.format_datetime(v.time) or '', 173 204 'is_default': v.name == default, 174 'href': self.env.href.admin(cat, page, v.name) 175 } for v in ticket.Version.select(self.env)] 205 'href': self.env.href.admin(cat, page, v.name), 206 'role': v.role, 207 'status': v.status 208 } for v in ticket.Version.select(self.env, roles=roles, 209 status=status)] 176 210 177 211 return 'admin_version.cs', None 178 212 -
webadmin/templates/admin_version.cs
old new 13 13 var:admin.version.time ?>"></label> 14 14 </div> 15 15 <div class="field"> 16 <label>Role:<br /><?cs 17 call:hdf_select(admin.roles, "role", admin.version.role, 0) ?> 18 </label> 19 </div> 20 <div class="field"> 21 <label>Status:<br /><?cs 22 call:hdf_select(admin.status, "status", admin.version.status, 0) ?> 23 </label> 24 </div> 25 <div class="field"> 16 26 <fieldset class="iefix"> 17 27 <label for="description">Description (you may use <a tabindex="42" href="<?cs 18 28 var:trac.href.wiki ?>/WikiFormatting">WikiFormatting</a> here):</label> … … 41 51 <label>Time: <input type="text" name="time" value="<?cs 42 52 var:admin.version.time ?>"></label> 43 53 </div> 54 <div class="field"> 55 <label>Role:<br /><?cs 56 call:hdf_select(admin.roles, "role", admin.version.role, 0) ?> 57 </label> 58 </div> 59 <div class="field"> 60 <label>Status:<br /><?cs 61 call:hdf_select(admin.status, "status", admin.version.status, 0) ?> 62 </label> 63 </div> 44 64 <div class="buttons"> 45 65 <input type="submit" name="add" value="Add"> 46 66 </div> … … 50 70 if:len(admin.versions) ?><form method="POST"> 51 71 <table class="listing" id="verlist"> 52 72 <thead> 53 <tr><th class="sel"> </th><th>Name</th> 54 <th>Time</th><th>Default</th></tr> 73 <tr><th class="sel"> </th> 74 <th>Name</th> 75 <th>Time</th> 76 <th>Role</th> 77 <th>Status</th> 78 <th>Default</th></tr> 55 79 </thead><tbody><?cs 56 80 each:ver = admin.versions ?> 57 81 <tr> 58 82 <td><input type="checkbox" name="sel" value="<?cs var:ver.name ?>" /></td> 59 83 <td><a href="<?cs var:ver.href ?>"><?cs var:ver.name ?></a></td> 60 84 <td><?cs var:ver.time ?></td> 85 <td><?cs var:ver.role ?></td> 86 <td><?cs var:ver.status ?></td> 61 87 <td class="default"><input type="radio" name="default" value="<?cs 62 88 var:ver.name ?>"<?cs 63 89 if:ver.is_default ?> checked="checked" <?cs /if ?>></td> -
webadmin/templates/admin_component.cs
old new 17 17 /if ?></label> 18 18 </div> 19 19 <div class="field"> 20 <label>Role:<br /><?cs 21 call:hdf_select(admin.roles, "role", admin.component.role, 0) ?> 22 </label> 23 </div> 24 <div class="field"> 25 <label>Status:<br /><?cs 26 call:hdf_select(admin.status, "status", admin.component.status, 0) ?> 27 </label> 28 </div> 29 <div class="field"> 20 30 <fieldset class="iefix"> 21 31 <label for="description">Description (you may use <a tabindex="42" href="<?cs 22 32 var:trac.href.wiki ?>/WikiFormatting">WikiFormatting</a> here):</label> … … 47 57 else ?><input type="text" name="owner" /><?cs 48 58 /if ?></label> 49 59 </div> 60 <div class="field"> 61 <label>Role:<br /><?cs 62 call:hdf_select(admin.roles, "role", "", 0) ?> 63 </label> 64 </div> 65 <div class="field"> 66 <label>Status:<br /><?cs 67 call:hdf_select(admin.status, "status", "", 0) ?> 68 </label> 69 </div> 50 70 <div class="buttons"> 51 71 <input type="submit" name="add" value="Add"> 52 72 </div> … … 56 76 if:len(admin.components) ?><form method="POST"> 57 77 <table class="listing" id="complist"> 58 78 <thead> 59 <tr><th class="sel"> </th><th>Name</th> 60 <th>Owner</th><th>Default</th></tr> 79 <tr><th class="sel"> </th> 80 <th>Name</th> 81 <th>Owner</th> 82 <th>Role</th> 83 <th>Status</th> 84 <th>Default</th></tr> 61 85 </thead><?cs 62 86 each:comp = admin.components ?> 63 87 <tr> … … 66 90 <td class="name"><a href="<?cs var:comp.href?>"><?cs 67 91 var:comp.name ?></a></td> 68 92 <td class="owner"><?cs var:comp.owner ?></td> 93 <td class="role"><?cs var:comp.role ?></td> 94 <td class="status"><?cs var:comp.status ?></td> 69 95 <td class="default"><input type="radio" name="default" value="<?cs 70 96 var:comp.name ?>"<?cs 71 97 if:comp.is_default ?> checked="checked" <?cs /if ?>></td>
