Mercurial > bitten > bitten-test
changeset 123:cccfa117e344
Template cleanup
author | cmlenz |
---|---|
date | Mon, 08 Aug 2005 18:03:49 +0000 |
parents | 0dafd12f6f5f |
children | 540ffa358d80 |
files | bitten/trac_ext/templates/build.cs bitten/trac_ext/web_ui.py |
diffstat | 2 files changed, 66 insertions(+), 63 deletions(-) [+] |
line wrap: on
line diff
--- a/bitten/trac_ext/templates/build.cs +++ b/bitten/trac_ext/templates/build.cs @@ -3,61 +3,61 @@ <div id="content" class="build"> <h1><?cs var:title ?></h1><?cs - if:build.mode == 'overview' ?><?cs - each:config = build.configs ?> + if:page.mode == 'overview' ?><?cs + each:config = configs ?> <h2><a href="<?cs var:config.href ?>"><?cs var:config.label ?></a></h2><?cs if:config.description ?><div class="description"><?cs var:config.description ?></div><?cs /if ?><?cs /each ?><?cs - if:build.can_create ?><div class="buttons"> + if:config.can_create ?><div class="buttons"> <form method="get" action=""><div> <input type="hidden" name="action" value="new" /> <input type="submit" value="Add configuration" /> </div></form></div><?cs /if ?></div><?cs - elif:build.mode == 'edit_config' ?> + elif:page.mode == 'edit_config' ?> <form class="config" method="post" action=""> <table><tr> <td class="name"><label>Name:<br /> - <input type="text" name="name" value="<?cs var:build.config.name ?>" /> + <input type="text" name="name" value="<?cs var:config.name ?>" /> </label></td> <td class="label"><label>Label (for display):<br /> <input type="text" name="label" size="32" value="<?cs - var:build.config.label ?>" /> + var:config.label ?>" /> </label></td> </tr><tr> <td class="active"><label><input type="checkbox" name="active"<?cs - if:build.config.active ?> checked="checked"<?cs /if ?> /> Active + if:config.active ?> checked="checked"<?cs /if ?> /> Active </label></td> <td class="path"><label>Repository path:<br /> <input type="text" name="path" size="48" value="<?cs - var:build.config.path ?>" /> + var:config.path ?>" /> </label></td> </tr><tr> <td colspan="2"><fieldset class="iefix"> <label for="description">Description (you may use <a tabindex="42" href="<?cs var:trac.href.wiki ?>/WikiFormatting">WikiFormatting</a> here):</label> <p><textarea id="description" name="description" class="wikitext" rows="5" cols="78"><?cs - var:build.config.description ?></textarea></p> + var:config.description ?></textarea></p> <script type="text/javascript" src="<?cs var:htdocs_location ?>js/wikitoolbar.js"></script> </fieldset></td> </tr></table> <div class="buttons"> <input type="hidden" name="action" value="<?cs - if:build.config.exists ?>edit<?cs else ?>new<?cs /if ?>" /> + if:config.exists ?>edit<?cs else ?>new<?cs /if ?>" /> <input type="submit" value="<?cs - if:build.config.exists ?>Save changes<?cs else ?>Create<?cs /if ?>" /> + if:config.exists ?>Save changes<?cs else ?>Create<?cs /if ?>" /> <input type="submit" name="cancel" value="Cancel" /> </div> </form><?cs - if:build.config.exists ?><div class="platforms"> + if:config.exists ?><div class="platforms"> <form class="platforms" method="post" action=""> <h2>Target Platforms</h2><?cs - if:len(build.platforms) ?><ul><?cs - each:platform = build.platforms ?> + if:len(config.platforms) ?><ul><?cs + each:platform = config.platforms ?> <li><input type="checkbox" name="delete_platform" value="<?cs var:platform.id ?>"> <a href="<?cs var:platform.href ?>"><?cs var:platform.name ?></a> @@ -72,41 +72,43 @@ </div><?cs /if ?><?cs - elif:build.mode == 'view_config' ?><ul> - <li>Active: <?cs if:build.config.active ?>yes<?cs else ?>no<?cs /if ?></li> - <li>Path: <?cs if:build.config.path ?><a href="<?cs - var:build.config.browser_href ?>"><?cs - var:build.config.path ?></a></li><?cs /if ?></ul><?cs - if:build.config.description ?><div class="description"><?cs - var:build.config.description ?></div><?cs + elif:page.mode == 'view_config' ?><ul> + <li>Active: <?cs if:config.active ?>yes<?cs else ?>no<?cs /if ?></li> + <li>Path: <?cs if:config.path ?><a href="<?cs + var:config.browser_href ?>"><?cs + var:config.path ?></a></li><?cs /if ?></ul><?cs + if:config.description ?><div class="description"><?cs + var:config.description ?></div><?cs /if ?><?cs - if:build.config.can_modify ?><div class="buttons"> + if:config.can_modify ?><div class="buttons"> <form method="get" action=""><div> <input type="hidden" name="action" value="edit" /> <input type="submit" value="Edit configuration" /> </div></form><?cs /if ?><?cs - if:len(build.platforms) ?> + if:len(config.platforms) ?> <table class="listing" id="builds"><thead><tr><th>Changeset</th><?cs - each:platform = build.platforms ?><th><?cs var:platform.name ?><?cs + each:platform = config.platforms ?><th><?cs var:platform.name ?><?cs /each ?></tr></thead><?cs - if:len(build.builds) ?><tbody><?cs - each:rev = build.builds ?><tr> + if:len(config.builds) ?><tbody><?cs + each:rev = config.builds ?><tr> <th class="rev" scope="row"><a href="<?cs var:rev.href ?>" title="View Changeset">[<?cs var:name(rev) ?>]</a></th><?cs - each:platform = build.platforms ?><?cs - if:len(rev[platform.id]) ?><td class="<?cs - var:rev[platform.id].cls ?>"><a href="<?cs - var:rev[platform.id].href ?>" title="View build results"><?cs - var:rev[platform.id].slave.name ?></a> (<?cs - var:rev[platform.id].slave.os ?> <?cs - var:rev[platform.id].slave.os.version ?>)<br /><?cs - if:rev[platform.id].status == 'in progress' ?>started <?cs - var:rev[platform.id].started_delta ?> ago<?cs - else ?>took <?cs - var:rev[platform.id].duration ?></td><?cs - /if ?><?cs + each:platform = config.platforms ?><?cs + if:len(rev[platform.id]) ?><?cs + with:build = rev[platform.id] ?><td class="<?cs + var:build.cls ?>"><a href="<?cs + var:build.href ?>" title="View build results"><?cs + var:build.slave.name ?></a> (<?cs + var:build.slave.os ?> <?cs + var:build.slave.os.version ?>)<br /><?cs + if:build.status == 'in progress' ?>started <?cs + var:build.started_delta ?> ago<?cs + else ?>took <?cs + var:build.duration ?></td><?cs + /if ?><?cs + /with ?><?cs else ?><td>—</td><?cs /if ?><?cs /each ?></tr><?cs @@ -114,16 +116,16 @@ /if ?></table><?cs /if ?></div><?cs - elif:build.mode == 'edit_platform' ?> + elif:page.mode == 'edit_platform' ?> <form class="platform" method="post" action=""> <div class="field"><label>Name:<br /> - <input type="text" name="name" value="<?cs var:build.platform.name ?>" /> + <input type="text" name="name" value="<?cs var:platform.name ?>" /> </label></div> <h2>Rules</h2> <table><thead><tr> <th>Property name</th><th>Match pattern</th> </tr></thead><tbody><?cs - each:rule = build.platform.rules ?><tr> + each:rule = platform.rules ?><tr> <td><input type="text" name="property_<?cs var:name(rule) ?>" value="<?cs var:rule.property ?>" /></td> <td><input type="text" name="pattern_<?cs var:name(rule) ?>" value="<?cs @@ -137,30 +139,31 @@ <div class="buttons"> <form method="get" action=""><div> <input type="hidden" name="action" value="<?cs - if:build.platform.exists ?>edit<?cs else ?>new<?cs /if ?>" /> + if:platform.exists ?>edit<?cs else ?>new<?cs /if ?>" /> <input type="hidden" name="platform" value="<?cs - var:build.platform.id ?>" /> + var:platform.id ?>" /> <input type="submit" value="<?cs - if:build.platform.exists ?>Save changes<?cs else ?>Add platform<?cs + if:platform.exists ?>Save changes<?cs else ?>Add platform<?cs /if ?>" /> <input type="submit" name="cancel" value="Cancel" /> </div></form> </div> </form><?cs - elif:build.mode == 'view_build' ?> + elif:page.mode == 'view_build' ?> <p class="trigger">Triggered by: Changeset <a href="<?cs var:build.chgset_href ?>">[<?cs var:build.rev ?>]</a> of <a href="<?cs var:build.config.href ?>"><?cs var:build.config.name ?></a></p> <p class="slave">Built by: <strong title="<?cs var:build.slave.ip_address ?>"><?cs var:build.slave.name ?></strong> (<?cs var:build.slave.os ?> <?cs var:build.slave.os.version ?><?cs - if:build.slave.machien ?> on <?cs var:build.slave.machine ?><?cs + if:build.slave.machine ?> on <?cs var:build.slave.machine ?><?cs /if ?>)</p> <p class="time">Completed: <?cs var:build.started ?> (<?cs var:build.started_delta ?> ago)<br />Took: <?cs var:build.duration ?></p><?cs each:step = build.steps ?> - <h2><?cs var:step.name ?> (<?cs var:step.duration ?>)</h2> + <h2 id="<?cs var:step.name ?>"><?cs var:step.name ?> (<?cs + var:step.duration ?>)</h2> <?cs if:len(step.reports) ?> <div class="reports"><h3>Generated Reports</h3><ul> <?cs each:report = step.reports ?>
--- a/bitten/trac_ext/web_ui.py +++ b/bitten/trac_ext/web_ui.py @@ -307,13 +307,13 @@ description = config.description if description: description = wiki_to_html(description, self.env, req) - req.hdf['build.configs.%d' % idx] = { + req.hdf['configs.%d' % idx] = { 'name': config.name, 'label': config.label or config.name, 'path': config.path, 'description': description, - 'href': self.env.href.build(config.name) + 'href': self.env.href.build(config.name), } - req.hdf['build.mode'] = 'overview' - req.hdf['build.can_create'] = req.perm.has_permission('BUILD_CREATE') + req.hdf['page.mode'] = 'overview' + req.hdf['config.can_create'] = req.perm.has_permission('BUILD_CREATE') def _render_config(self, req, config_name): config = BuildConfig.fetch(self.env, config_name) @@ -323,25 +323,24 @@ description = config.description if description: description = wiki_to_html(description, self.env, req) - req.hdf['build.config'] = { + req.hdf['config'] = { 'name': config.name, 'label': config.label, 'path': config.path, 'active': config.active, 'description': description, 'browser_href': self.env.href.browser(config.path), 'can_modify': req.perm.has_permission('BUILD_MODIFY') } - req.hdf['build.mode'] = 'view_config' + req.hdf['page.mode'] = 'view_config' platforms = TargetPlatform.select(self.env, config=config_name) - req.hdf['build.platforms'] = [ + req.hdf['config.platforms'] = [ {'name': platform.name, 'id': platform.id} for platform in platforms ] repos = self.env.get_repository(req.authname) try: root = repos.get_node(config.path) - num = 0 for idx, (path, rev, chg) in enumerate(root.get_history()): - prefix = 'build.builds.%d' % rev + prefix = 'config.builds.%d' % rev req.hdf[prefix + '.href'] = self.env.href.changeset(rev) for build in Build.select(self.env, config=config.name, rev=rev): if build.status == Build.PENDING: @@ -356,7 +355,7 @@ config = BuildConfig.fetch(self.env, config_name) if config: req.perm.assert_permission('BUILD_MODIFY') - req.hdf['build.config'] = { + req.hdf['config'] = { 'name': config.name, 'label': config.label, 'path': config.path, 'active': config.active, 'description': config.description, 'exists': config.exists @@ -366,7 +365,7 @@ % escape(config.label or config.name) for idx, platform in enumerate(TargetPlatform.select(self.env, config_name)): - req.hdf['build.platforms.%d' % idx] = { + req.hdf['config.platforms.%d' % idx] = { 'id': platform.id, 'name': platform.name, 'href': self.env.href.build(config_name, action='edit', platform=platform.id) @@ -374,7 +373,7 @@ else: req.perm.assert_permission('BUILD_CREATE') req.hdf['title'] = 'Create Build Configuration' - req.hdf['build.mode'] = 'edit_config' + req.hdf['page.mode'] = 'edit_config' def _render_platform_form(self, req, platform): req.perm.assert_permission('BUILD_MODIFY') @@ -383,12 +382,12 @@ % escape(platform.name) else: req.hdf['title'] = 'Add Target Platform' - req.hdf['build.platform'] = { + req.hdf['platform'] = { 'name': platform.name, 'id': platform.id, 'exists': platform.exists, 'rules': [{'property': propname, 'pattern': pattern} for propname, pattern in platform.rules] or [('', '')] } - req.hdf['build.mode'] = 'edit_platform' + req.hdf['page.mode'] = 'edit_platform' def _render_build(self, req, build_id): build = Build.fetch(self.env, build_id) @@ -400,7 +399,7 @@ req.hdf['title'] = 'Build %s - %s' % (build_id, status2title[build.status]) req.hdf['build'] = self._build_to_hdf(req, build, include_output=True) - req.hdf['build.mode'] = 'view_build' + req.hdf['page.mode'] = 'view_build' config = BuildConfig.fetch(self.env, build.config) req.hdf['build.config'] = { @@ -435,7 +434,8 @@ for step in BuildStep.select(self.env, build=build.id, db=db): steps.append({ 'name': step.name, 'description': step.description, - 'duration': pretty_timedelta(step.started, step.stopped) + 'duration': pretty_timedelta(step.started, step.stopped), + 'failed': step.status == BuildStep.FAILURE }) if include_output: for log in BuildLog.select(self.env, build=build.id,