Author: ahorincar
Date: Sat Aug 17 00:15:31 2013
New Revision: 1514925
URL: http://svn.apache.org/r1514925
Log:
Fixed get_permission_actions method in bhembedding, fixed implementation of
query embedding, modified templates
Modified:
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_dashboard/bhdashboard/layouts/templates/bs_grid_full.html
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_dashboard/bhdashboard/widgets/templates/widget_product.html
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/api.py
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/templates/bh_emb_milestone.html
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/templates/bh_emb_product.html
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/templates/bh_emb_query.html
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/templates/bh_emb_ticket.html
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_theme/bhtheme/templates/bh_milestone_view.html
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_theme/bhtheme/templates/bh_query.html
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_theme/bhtheme/templates/bh_ticket.html
Modified:
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_dashboard/bhdashboard/layouts/templates/bs_grid_full.html
URL:
http://svn.apache.org/viewvc/bloodhound/branches/bep_0007_embeddable_objects/bloodhound_dashboard/bhdashboard/layouts/templates/bs_grid_full.html?rev=1514925&r1=1514924&r2=1514925&view=diff
==============================================================================
---
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_dashboard/bhdashboard/layouts/templates/bs_grid_full.html
(original)
+++
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_dashboard/bhdashboard/layouts/templates/bs_grid_full.html
Sat Aug 17 00:15:31 2013
@@ -40,10 +40,11 @@
iframe = document.createElement("iframe");
var root = get_root()
$(iframe).attr("src", root + src);
- $(iframe).attr("width", "640");
- $(iframe).attr("height", "480");
+ $(iframe).attr("width", "480");
+ $(iframe).attr("height", "300");
$(iframe).attr("frameborder", "0");
- return $(iframe).get(0).outerHTML;
+ $(iframe).attr("scrolling", "yes");
+ return $(iframe).get(0).outerHTML;
}
$('#embed-btn').click(function() {
Modified:
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_dashboard/bhdashboard/widgets/templates/widget_product.html
URL:
http://svn.apache.org/viewvc/bloodhound/branches/bep_0007_embeddable_objects/bloodhound_dashboard/bhdashboard/widgets/templates/widget_product.html?rev=1514925&r1=1514924&r2=1514925&view=diff
==============================================================================
---
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_dashboard/bhdashboard/widgets/templates/widget_product.html
(original)
+++
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_dashboard/bhdashboard/widgets/templates/widget_product.html
Sat Aug 17 00:15:31 2013
@@ -99,9 +99,10 @@
iframe = document.createElement("iframe");
var root = get_root();
$(iframe).attr("src", root + src);
- $(iframe).attr("width", "640");
- $(iframe).attr("height", "480");
+ $(iframe).attr("width", "480");
+ $(iframe).attr("height", "300");
$(iframe).attr("frameborder", "0");
+ $(iframe).attr("scrolling", "yes");
return $(iframe).get(0).outerHTML;
}
Modified:
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/api.py
URL:
http://svn.apache.org/viewvc/bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/api.py?rev=1514925&r1=1514924&r2=1514925&view=diff
==============================================================================
---
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/api.py
(original)
+++
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/api.py
Sat Aug 17 00:15:31 2013
@@ -21,6 +21,7 @@ from trac.resource import Resource, Reso
from trac.ticket.roadmap import get_tickets_for_milestone
from trac.attachment import Attachment
+from trac.web.href import Href
from multiproduct.env import ProductEnvironment
@@ -31,7 +32,7 @@ class EmbeddingSystem(Component):
# IPermissionRequestor method
def get_permission_actions(self):
- return ['TICKET_VIEW', 'MILESTONE_VIEW', 'PRODUCT_VIEW']
+ return ['TICKET_EMBED', 'MILESTONE_EMBED', 'PRODUCT_EMBED',
'QUERY_EMBED']
def get_tickets_for_product(self, env, product=''):
"""Retrieve all tickets associated with the product."""
@@ -45,15 +46,17 @@ class EmbeddingSystem(Component):
yield (date, author, field, old, new, permanent)
- def query(self, req, qstr='status!=closed'):
+ def query(self, req, qstr):
q = Query.from_string(self.env, qstr)
+ filters = Query.to_string(q)
ticket_realm = Resource('ticket')
out = []
for t in q.execute(req):
tid = t['id']
if 'TICKET_VIEW' in req.perm(ticket_realm(id=tid)):
out.append(tid)
- return out
+ return filters, out
+
def get_attachments(self, realm, id):
return [a.filename for a in Attachment.select(self.env, realm, id)]
@@ -88,7 +91,6 @@ class EmbeddingSystem(Component):
id = req.args.get('id')
if name == 'ticket':
- req.perm.require('TICKET_VIEW')
comm_num = 0
attachment_num = len(self.get_attachments('ticket', id))
ticket_log = self.changeLog(id)
@@ -103,7 +105,6 @@ class EmbeddingSystem(Component):
return 'bh_emb_ticket.html', data, None
elif name == 'milestone':
- req.perm.require('MILESTONE_VIEW')
ticket_num = len(get_tickets_for_milestone(self.env, milestone=id))
attachment_num = len(self.get_attachments('milestone', id))
data = {'milestone': Milestone(self.env, id),
@@ -113,7 +114,6 @@ class EmbeddingSystem(Component):
return 'bh_emb_milestone.html', data, None
elif name == 'products':
- req.perm.require('PRODUCT_VIEW')
product = Product(self.env, {'prefix': id})
ticket_num = len(self.get_tickets_for_product(self.env, id))
product_env = ProductEnvironment(self.env, product.prefix)
@@ -134,16 +134,19 @@ class EmbeddingSystem(Component):
elif name == 'query':
qstr = req.query_string
- if qstr=='' or qstr=='?':
- if req.authname and req.authname != 'anonymous':
- qstr = 'status!=closed&owner=$USER'
- else:
- qstr = 'status!=closed'
-
- tickets = self.query(req, qstr)
+ if qstr=='':
+ # if req.authname and req.authname != 'anonymous':
+ # qstr = 'status!=closed&owner=' + req.authname
+ # else:
+ qstr = 'status!=closed'
+
+ qresults = self.query(req, qstr)
+ filters = qresults[0]
+ tickets = qresults[1]
data={'tickets': tickets,
- 'query': qstr}
+ 'query': qstr,
+ 'filters': filters}
return 'bh_emb_query.html', data, None
else:
msg = "It is not possible to embed this resource."
Modified:
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/templates/bh_emb_milestone.html
URL:
http://svn.apache.org/viewvc/bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/templates/bh_emb_milestone.html?rev=1514925&r1=1514924&r2=1514925&view=diff
==============================================================================
---
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/templates/bh_emb_milestone.html
(original)
+++
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/templates/bh_emb_milestone.html
Sat Aug 17 00:15:31 2013
@@ -14,7 +14,7 @@
</head>
<body>
- <h2><a href="${href.milestone(milestone.name)}">${milestone.name}</a></h2>
+ <h2><a target="_blank"
href="${href.milestone(milestone.name)}">${milestone.name}</a></h2>
<table class="table table-condensed ticket-properties">
<tr>
@@ -31,23 +31,35 @@
<tr>
<th class="properties">Number of Tickets</th>
<py:choose>
- <td py:when="ticket_number"><a target="_blank"
href="#">${ticket_number}</a></td>
+ <td py:when="ticket_number">
+ <a target="_blank" href="${href.query(milestone=milestone.name,
status='!closed'
+ ,
order='priority')}">${ticket_number}</a></td>
<td py:otherwise="">0</td>
</py:choose>
</tr>
<tr>
<th class="properties">Number of Attachments</th>
<py:choose>
- <td py:when="attachment_number"><a target="_blank"
href="#">${attachment_number}</a></td>
+ <td py:when="attachment_number"><a target="_blank"
href="${href.attachment('milestone'
+ ,
milestone.name)}">${attachment_number}</a></td>
<td py:otherwise="">0</td>
</py:choose>
</tr>
<tr>
<th class="properties">Status</th>
<py:choose>
- <td py:when="milestone.completed">Completed
(${format_datetime(milestone.completed)})</td>
- <td py:when="milestone.is_late">Is late
(${format_datetime(milestone.due)})</td>
- <td py:when="milestone.due">Due
(${format_datetime(milestone.due)})</td>
+ <td py:when="milestone.completed">Completed on
+ <a target="_blank" href="${href('timeline', {'from':
milestone.completed})}">
+
${format_datetime(milestone.completed)}</a>
+ </td>
+ <td py:when="milestone.is_late">Is late since
+ <a target="_blank" href="${href('timeline', {'from':
milestone.due})}">
+ ${format_datetime(milestone.due)}</a>
+ </td>
+ <td py:when="milestone.due">Due on
+ <a target="_blank" href="${href('timeline', {'from':
milestone.due})}">
+ ${format_datetime(milestone.due)}</a>
+ </td>
</py:choose>
</tr>
</table>
Modified:
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/templates/bh_emb_product.html
URL:
http://svn.apache.org/viewvc/bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/templates/bh_emb_product.html?rev=1514925&r1=1514924&r2=1514925&view=diff
==============================================================================
---
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/templates/bh_emb_product.html
(original)
+++
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/templates/bh_emb_product.html
Sat Aug 17 00:15:31 2013
@@ -14,8 +14,8 @@
</head>
<body>
- <h2><a href="${href.products(product.prefix)}">${product.name}</a></h2>
- <h4><a target="_blank" href="${href.products(product.prefix)}">Product
#${product.prefix}</a></h4>
+ <h2>${product.name}</h2>
+ <h4><a target="_blank" href="${href.products(product.prefix)}">Product
${product.prefix}</a></h4>
<table class="table table-condensed ticket-properties">
<tr>
@@ -28,21 +28,28 @@
<tr>
<th class="properties">Owner</th>
<py:choose>
- <td py:when="owner">${owner}</td>
+ <td py:when="owner"><a target="_blank"
href="${href.query(owner=owner, status='!closed'
+ ,
order='priority')}">${owner}</a>
+ </td>
<td py:otherwise="">none</td>
</py:choose>
</tr>
<tr>
<th class="properties">Number of Tickets:</th>
<py:choose>
- <td py:when="ticket_num"><a target="_blank"
href="#">${ticket_num}</a></td>
+ <td py:when="ticket_num">
+ <a target="_blank" href="${href.query(product=product.prefix,
status='!closed'
+ , order='priority')}">${ticket_num}</a>
+ </td>
<td py:otherwise="">0</td>
</py:choose>
</tr>
<tr>
<th class="properties">Number of Milestones:</th>
<py:choose>
- <td py:when="milestone_num"><a target="_blank"
href="#">${milestone_num}</a></td>
+ <td py:when="milestone_num">
+ <a target="_blank" href="${href.products(product.prefix,
'roadmap')}">${milestone_num}</a>
+ </td>
<td py:otherwise="">0</td>
</py:choose>
</tr>
Modified:
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/templates/bh_emb_query.html
URL:
http://svn.apache.org/viewvc/bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/templates/bh_emb_query.html?rev=1514925&r1=1514924&r2=1514925&view=diff
==============================================================================
---
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/templates/bh_emb_query.html
(original)
+++
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/templates/bh_emb_query.html
Sat Aug 17 00:15:31 2013
@@ -18,7 +18,7 @@
<h2>Query</h2>
<h5 class="properties">Query String</h5>
- <p>add query string here</p>
+ <p>${filters}</p>
<h5 class="properties">Query Results</h5>
<py:choose>
@@ -31,7 +31,6 @@
</py:for>
</div>
</py:when>
-
<py:otherwise>
<div>
<py:for each="ticket in tickets">
@@ -41,9 +40,6 @@
</py:for>
</div>
</py:otherwise>
-
- <p>tickets: ${tickets}</p>
-
</py:choose>
</div>
</body>
Modified:
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/templates/bh_emb_ticket.html
URL:
http://svn.apache.org/viewvc/bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/templates/bh_emb_ticket.html?rev=1514925&r1=1514924&r2=1514925&view=diff
==============================================================================
---
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/templates/bh_emb_ticket.html
(original)
+++
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_embedding_plugin/bhembedding/templates/bh_emb_ticket.html
Sat Aug 17 00:15:31 2013
@@ -18,8 +18,8 @@
<h2>${ticket.summary}</h2>
<h4><a target="_blank" href="${href.ticket(ticket.id)}">Ticket
#${ticket.id}</a></h4>
<h5>Assigned to
- <a target="_blank" href="${href.query(owner=ticket.owner,
status='!closed',
- ticket=ticket.id, order='priority')}">${ticket.owner}</a>
+ <a target="_blank" href="${href.query(owner=ticket.owner,
status='!closed'
+ , order='priority')}">${ticket.owner}</a>
, last modified
<a target="_blank" href="${href('timeline', {'from':
ticket.changetime})}">
${format_datetime(ticket.changetime)}</a>
@@ -28,43 +28,43 @@
<table class="table table-condensed ticket-properties">
<tr>
<th class="properties">Reporter</th>
- <td><a target="_blank" href="${href.query(reporter=ticket.reporter,
status='!closed',
- ticket=ticket.id,
order='priority')}">${ticket.reporter}</a></td>
+ <td><a target="_blank" href="${href.query(reporter=ticket.reporter,
status='!closed'
+ ,
order='priority')}">${ticket.reporter}</a></td>
</tr>
<tr>
<th class="properties">Keywords</th>
<py:choose>
- <td py:when="ticket.keywords"><a target="_blank"
href="${href.query(keywords=ticket.keywords, status='!closed',
- ticket=ticket.id,
order='priority')}">${ticket.keywords}</a></td>
+ <td py:when="ticket.keywords"><a target="_blank"
href="${href.query(keywords=ticket.keywords
+ , status='!closed',
order='priority')}">${ticket.keywords}</a></td>
<td py:otherwise="">none</td>
</py:choose>
</tr>
<tr>
<th class="properties">Type</th>
- <td><a target="_blank" href="${href.query(type=ticket.type,
status='!closed',
- ticket=ticket.id, order='priority')}">${ticket.type}</a></td>
+ <td><a target="_blank" href="${href.query(type=ticket.type,
status='!closed'
+ ,
order='priority')}">${ticket.type}</a></td>
</tr>
<tr>
<th class="properties">Status</th>
- <td><a target="_blank" href="${href.query(status=ticket.status,
- ticket=ticket.id, order='priority')}">${ticket.status}</a></td>
+ <td><a target="_blank" href="${href.query(status=ticket.status
+ ,
order='priority')}">${ticket.status}</a></td>
</tr>
<tr>
<th class="properties">Priority</th>
- <td><a target="_blank" href="${href.query(priority=ticket.priority,
status='!closed',
- ticket=ticket.id,
order='priority')}">${ticket.priority}</a></td>
+ <td><a target="_blank" href="${href.query(priority=ticket.priority,
status='!closed'
+ ,
order='priority')}">${ticket.priority}</a></td>
</tr>
<tr>
<th class="properties">Product</th>
- <td><a target="_blank" href="${href.query(product=ticket.product,
status='!closed',
- ticket=ticket.id,
order='priority')}">${ticket.product}</a></td>
+ <td><a target="_blank" href="${href.query(product=ticket.product,
status='!closed'
+ ,
order='priority')}">${ticket.product}</a></td>
</tr>
<tr>
<th class="properties">Milestone</th>
<py:choose>
<td py:when="ticket.milestone">
- <a target="_blank"
href="${href.query(milestone=ticket.milestone, status='!closed',
- ticket=ticket.id,
order='priority')}">${ticket.milestone}</a></td>
+ <a target="_blank"
href="${href.query(milestone=ticket.milestone, status='!closed'
+ ,
order='priority')}">${ticket.milestone}</a></td>
<td py:otherwise="">none</td>
</py:choose>
</tr>
@@ -72,8 +72,8 @@
<th class="properties">Component</th>
<py:choose>
<td py:when="ticket.component">
- <a target="_blank"
href="${href.query(component=ticket.component, status='!closed',
- ticket=ticket.id,
order='priority')}">${ticket.component}</a></td>
+ <a target="_blank"
href="${href.query(component=ticket.component, status='!closed'
+ ,
order='priority')}">${ticket.component}</a></td>
<td py:otherwise="">none</td>
</py:choose>
</tr>
@@ -81,8 +81,8 @@
<th class="properties">Version</th>
<py:choose>
<td py:when="ticket.version">
- <a target="_blank" href="${href.query(version=ticket.version,
status='!closed',
- ticket=ticket.id,
order='priority')}">${ticket.version}</a></td>
+ <a target="_blank" href="${href.query(version=ticket.version,
status='!closed'
+ ,
order='priority')}">${ticket.version}</a></td>
<td py:otherwise="">none</td>
</py:choose>
</tr>
@@ -90,8 +90,8 @@
<th class="properties">Severity</th>
<py:choose>
<td py:when="ticket.severity">
- <a target="_blank" href="${href.query(severity=ticket.severity,
status='!closed',
- ticket=ticket.id,
order='priority')}">${ticket.severity}</a></td>
+ <a target="_blank" href="${href.query(severity=ticket.severity,
status='!closed'
+ ,
order='priority')}">${ticket.severity}</a></td>
<td py:otherwise="">none</td>
</py:choose>
</tr>
Modified:
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_theme/bhtheme/templates/bh_milestone_view.html
URL:
http://svn.apache.org/viewvc/bloodhound/branches/bep_0007_embeddable_objects/bloodhound_theme/bhtheme/templates/bh_milestone_view.html?rev=1514925&r1=1514924&r2=1514925&view=diff
==============================================================================
---
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_theme/bhtheme/templates/bh_milestone_view.html
(original)
+++
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_theme/bhtheme/templates/bh_milestone_view.html
Sat Aug 17 00:15:31 2013
@@ -53,38 +53,9 @@
<py:def function="milestone_heading()">
<h1>Milestone ${milestone.name}</h1>
- <h6>${milestone_date()}</h6>
- </py:def>
-
- <py:def function="milestone_buttons()">
- <div py:if="'MILESTONE_MODIFY' in perm(milestone.resource) or
- 'MILESTONE_DELETE' in perm(milestone.resource) or
- attachments.can_create">
- <form py:if="'MILESTONE_MODIFY' in perm(milestone.resource)"
- method="get" action="" id="editmilestone"
- style="display: inline-block">
- <input type="hidden" name="action" value="edit" />
- <div class="btn-group">
- <button class="btn" name="editmilestonebutton" type="submit">
- <i class="icon-edit"></i>
- ${_('Edit')}
- </button>
- </div>
- </form>
- <form py:if="'MILESTONE_DELETE' in perm(milestone.resource)"
- method="get" action="" id="deletemilestone"
- style="display: inline-block">
- <input type="hidden" name="action" value="delete" />
- <div class="btn-group">
- <button class="btn" name="deletemilestonebutton" type="submit">
- <i class="icon-trash"></i>
- ${_('Delete')}
- </button>
- </div>
- </form>
- <xi:include href="bh_attach_file_form.html" py:with="alist =
attachments" />
- <!-- Embedding plugin -->
+ <!-- Embedding plugin -->
+ <div style="margin: 10px 0;">
<a id="embed-btn" href="#embed-modal" role="button" class="btn"
data-toggle="modal">Embed Milestone</a>
<script language="JavaScript" type="text/javascript">
@@ -92,9 +63,10 @@
iframe = document.createElement("iframe");
var root = get_root()
$(iframe).attr("src", root + src);
- $(iframe).attr("width", "640");
- $(iframe).attr("height", "480");
+ $(iframe).attr("width", "550");
+ $(iframe).attr("height", "250");
$(iframe).attr("frameborder", "0");
+ $(iframe).attr("scrolling", "yes");
return $(iframe).get(0).outerHTML;
}
@@ -123,8 +95,38 @@
<button class="btn" data-dismiss="modal"
aria-hidden="true">Close</button>
</div>
</div>
+ </div>
+ <h6>${milestone_date()}</h6>
+ </py:def>
+ <py:def function="milestone_buttons()">
+ <div py:if="'MILESTONE_MODIFY' in perm(milestone.resource) or
+ 'MILESTONE_DELETE' in perm(milestone.resource) or
+ attachments.can_create">
+ <form py:if="'MILESTONE_MODIFY' in perm(milestone.resource)"
+ method="get" action="" id="editmilestone"
+ style="display: inline-block">
+ <input type="hidden" name="action" value="edit" />
+ <div class="btn-group">
+ <button class="btn" name="editmilestonebutton" type="submit">
+ <i class="icon-edit"></i>
+ ${_('Edit')}
+ </button>
+ </div>
+ </form>
+ <form py:if="'MILESTONE_DELETE' in perm(milestone.resource)"
+ method="get" action="" id="deletemilestone"
+ style="display: inline-block">
+ <input type="hidden" name="action" value="delete" />
+ <div class="btn-group">
+ <button class="btn" name="deletemilestonebutton" type="submit">
+ <i class="icon-trash"></i>
+ ${_('Delete')}
+ </button>
+ </div>
+ </form>
+ <xi:include href="bh_attach_file_form.html" py:with="alist =
attachments" />
</div>
</py:def>
Modified:
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_theme/bhtheme/templates/bh_query.html
URL:
http://svn.apache.org/viewvc/bloodhound/branches/bep_0007_embeddable_objects/bloodhound_theme/bhtheme/templates/bh_query.html?rev=1514925&r1=1514924&r2=1514925&view=diff
==============================================================================
---
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_theme/bhtheme/templates/bh_query.html
(original)
+++
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_theme/bhtheme/templates/bh_query.html
Sat Aug 17 00:15:31 2013
@@ -294,30 +294,26 @@
<a id="embed-btn" href="#embed-modal" role="button" class="btn"
data-toggle="modal">Embed Results</a>
<script language="JavaScript" type="text/javascript">
- function make_iframe(src) {
+ function make_iframe() {
iframe = document.createElement("iframe");
- var root = get_root();
- $(iframe).attr("src", root + src);
- $(iframe).attr("width", "470");
- $(iframe).attr("height", "480");
+ var src = get_embed_path();
+ $(iframe).attr("src", src);
+ $(iframe).attr("width", "380");
+ $(iframe).attr("height", "380");
$(iframe).attr("frameborder", "0");
- $(iframe).attr("scrolling", "no");
+ $(iframe).attr("scrolling", "yes");
return $(iframe).get(0).outerHTML;
}
$('#embed-btn').click(function() {
-
$('#embed-textarea').val(make_iframe(prepare_embed_url('$query_href')));
+ $('#embed-textarea').val(make_iframe());
});
- function get_root() {
- var root = window.location.protocol + '//' + window.location.host;
- return root
- }
- function prepare_embed_url(url) {
+ function get_embed_path() {
+ var url = window.location.href
var url_array = url.split('/');
- var embed_url = '${href.embed()}';
- return embed_url + '/' + url_array[url_array.length-1];
+ return window.location.protocol + '//' + window.location.host +
'${href.embed()}' + '/' + url_array[url_array.length-1];
}
</script>
@@ -327,6 +323,9 @@
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"
aria-hidden="true">Ã</button>
<h3 id="myModalLabel">Embed Query Results</h3>
+ <h5 py:if="req.authname!='anonymous' and req.query_string==''">
+ You cannot embed the default query corresponding to an
authenticated user.
+ The snippet below embeds the query containing all open
tickets.</h5>
</div>
<div class="modal-body">
<textarea id="embed-textarea" rows="5" class="input-block-level"
style="width:100%;min-width:100%;max-width:100%;">
Modified:
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_theme/bhtheme/templates/bh_ticket.html
URL:
http://svn.apache.org/viewvc/bloodhound/branches/bep_0007_embeddable_objects/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1514925&r1=1514924&r2=1514925&view=diff
==============================================================================
---
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_theme/bhtheme/templates/bh_ticket.html
(original)
+++
bloodhound/branches/bep_0007_embeddable_objects/bloodhound_theme/bhtheme/templates/bh_ticket.html
Sat Aug 17 00:15:31 2013
@@ -355,15 +355,9 @@
<span py:if="not t.exists" class="label label-warning">(ticket not
yet created)</span>
</span>
</h5>
- <span id="inplace-edit-button" py:if="has_property_editor"
- class="btn-toolbar" style="${'display: None;' if not t.exists else
''}">
- <button id="inplace-edit" class="btn">
- <i class="icon-edit"></i>
- <span>${_('Modify Ticket')}</span>
- </button>
-
- <!-- Embedding plugin -->
+ <!-- Embedding plugin -->
+ <span class="btn-toolbar">
<a id="embed-btn" href="#embed-modal" role="button" class="btn"
data-toggle="modal">Embed Ticket</a>
<script language="JavaScript" type="text/javascript">
@@ -373,8 +367,8 @@
$(iframe).attr("src", root + src);
$(iframe).attr("width", "470");
$(iframe).attr("height", "480");
- $(iframe).attr("frameborder", "1");
- $(iframe).attr("scrolling", "no");
+ $(iframe).attr("frameborder", "0");
+ $(iframe).attr("scrolling", "yes");
return $(iframe).get(0).outerHTML;
}
@@ -403,8 +397,14 @@
<button class="btn" data-dismiss="modal"
aria-hidden="true">Close</button>
</div>
</div>
+ </span>
-
+ <span id="inplace-edit-button" py:if="has_property_editor"
+ class="btn-toolbar" style="${'display: None;' if not t.exists else
''}">
+ <button id="inplace-edit" class="btn">
+ <i class="icon-edit"></i>
+ <span>${_('Modify Ticket')}</span>
+ </button>
<span id="edit-state-buttons" class="btn-toolbar" style="display:
None">
<button id="edit-submit" class="btn" type="submit"
value="Submit changes" name="submit">
@@ -417,6 +417,7 @@
</span>
</py:def>
+
<div id="content" class="ticket">
<div class="trac-topnav span2" py:if="has_property_editor">
<a href="#propertyform" title="Go to the ticket editor">Modify</a>
↓