Changeset 70
- Timestamp:
- 07/18/05 08:04:57 (3 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
adminconsoleproviderpatch/trunk/admin-provider-refactor.diff
r69 r70 11 11 class MyLinkResolver(Component): 12 12 """ 13 @@ -35,7 +36,7 @@ 14 15 16 class TicketSystem(Component): 17 - implements(IPermissionRequestor, IWikiSyntaxProvider) 18 + implements(IPermissionRequestor, IWikiSyntaxProvider, IAdminConsoleProvider) 19 20 # Public API 21 22 @@ -168,4 +169,270 @@ 13 @@ -168,4 +169,276 @@ 23 14 return '<a class="missing ticket" href="%s" rel="nofollow">%s</a>' \ 24 15 % (formatter.href.ticket(target), label) 25 16 26 17 - 18 + 19 +class TicketAdminConsole(Component): 20 + """ Provides trac-admin with ticket related commands """ 21 + 27 22 + # IAdminConsoleProvider methods 23 + implements(IAdminConsoleProvider) 28 24 + 29 25 + def get_console_commands(self, tracadm): … … 292 288 + rows = self.db_query("SELECT name FROM version") 293 289 + return [row[0] for row in rows] 290 + 294 291 Index: trac/Milestone.py 295 292 =================================================================== … … 306 303 307 304 def __init__(self, env, name=None, db=None): 308 @@ -252,7 +252,7 @@ 309 class MilestoneModule(Component): 310 311 implements(INavigationContributor, IPermissionRequestor, IRequestHandler, 312 - ITimelineEventProvider, IWikiSyntaxProvider) 313 + ITimelineEventProvider, IWikiSyntaxProvider, IAdminConsoleProvider) 314 315 # INavigationContributor methods 316 317 @@ -465,3 +465,85 @@ 305 @@ -465,3 +465,91 @@ 318 306 def _format_link(self, formatter, ns, name, label): 319 307 return '<a class="milestone" href="%s">%s</a>' \ 320 308 % (formatter.href.milestone(name), label) 309 + 310 + 311 +class MilestoneAdminConsole(Component): 312 + """ Provide trac-admin with commands for manipulating milestones """ 313 + 314 + implements(IAdminConsoleProvider) 321 315 + 322 316 + # IAdminConsoleProvider methods … … 1275 1269 'IPermissionGroupProvider', 'PermissionError', 'PermissionSystem'] 1276 1270 1277 @@ -80,7 +81,7 @@ 1278 class PermissionSystem(Component): 1279 """Sub-system that manages user permissions.""" 1280 1281 - implements(IPermissionRequestor) 1282 + implements(IPermissionRequestor, IAdminConsoleProvider) 1283 1284 requestors = ExtensionPoint(IPermissionRequestor) 1285 stores = ExtensionPoint(IPermissionStore) 1286 @@ -165,6 +166,88 @@ 1271 @@ -165,6 +166,7 @@ 1287 1272 actions.append(action) 1288 1273 return [('TRAC_ADMIN', actions)] 1289 1274 1275 + 1276 # Internal methods 1277 1278 def _get_store(self): 1279 @@ -178,6 +180,8 @@ 1280 store = property(fget=lambda self: self._get_store()) 1281 1282 1283 + 1284 + 1285 class IPermissionGroupProvider(Interface): 1286 """ 1287 Extension point interface for components that provide information about user 1288 @@ -289,3 +293,90 @@ 1289 1290 def permissions(self): 1291 return self.perms.keys() 1292 + 1293 + 1294 +class PermissionAdminConsole(Component): 1295 + """ Provides trac-admin permission commands """ 1296 + 1297 + implements(IAdminConsoleProvider) 1298 + 1290 1299 + # IAdminConsoleProvider methods 1291 1300 + … … 1368 1377 + sql += " WHERE " + " AND ".join(clauses) 1369 1378 + self.tracadm.db_update(sql) 1370 +1371 +1372 # Internal methods1373 1374 def _get_store(self):1375 1379 Index: trac/wiki/api.py 1376 1380 =================================================================== … … 1389 1393 """ 1390 1394 Extension point interface for components that should get notified about the 1391 @@ -83, 13 +85,11@@1395 @@ -83,8 +85,6 @@ 1392 1396 """ 1393 1397 Return an iterable over (namespace, formatter) tuples. … … 1398 1402 """ 1399 1403 Represents the wiki system. 1400 """ 1401 - implements(IWikiChangeListener, IWikiSyntaxProvider) 1402 + implements(IWikiChangeListener, IWikiSyntaxProvider, IAdminConsoleProvider) 1403 1404 change_listeners = ExtensionPoint(IWikiChangeListener) 1405 macro_providers = ExtensionPoint(IWikiMacroProvider) 1406 @@ -158,3 +158,148 @@ 1404 @@ -158,3 +158,154 @@ 1407 1405 return '<a class="wiki" href="%s">%s</a>' \ 1408 1406 % (formatter.href.wiki(page) + anchor, label) 1409 1407 1408 + 1409 +class WikiAdminConsole(Component): 1410 + """ Provide trac-admin with wiki commands """ 1411 + 1412 + implements(IAdminConsoleProvider) 1413 + 1410 1414 + # IAdminConsoleProvider methods 1411 1415 +
