Skip to content

Commit 14f17b0

Browse files
committed
avoid exception when issue has no relations, show useful relation ids and links, typos
1 parent 6aca20b commit 14f17b0

File tree

2 files changed

+33
-23
lines changed

2 files changed

+33
-23
lines changed

app/views/my_card/index.html.erb

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88

99
<form class="form-horizontal project-form" onsubmit="return false;">
1010
<div class="control-group">
11-
<label class="control-label" for="project">Projet</label>
11+
<label class="control-label" for="project">Project</label>
1212
<div class="controls">
13-
<select id="projet"></select>
13+
<select id="project"></select>
1414
</div>
1515
</div>
1616
<div class="control-group">
@@ -33,7 +33,8 @@
3333
</div>
3434
<div class="control-group">
3535
<div class="controls">
36-
<button type="submit" class="btn submit">Load</button>
36+
<button type="submit" id="buttonLoad" class="btn submit">Load</button>
37+
<button type="submit" id="buttonClear" class="btn submit">Clear</button>
3738
</div>
3839
</div>
3940
</form>

assets/javascripts/card.js

Lines changed: 29 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
relativeUrl=null;
1616
var apiKey=null;
17-
17+
1818
/**
1919
* Fonction qui permet de faire un requête Ajax en gérant l'authentification
2020
*/
@@ -40,12 +40,12 @@
4040
apiKey=jQuery('#apiKey').val();
4141

4242
jQuery('.ticket-modele').hide();
43-
jQuery('#projet').empty();
43+
jQuery('#project').empty();
4444
jQuery('#search-assigned').empty();
4545
getJson("/projects.json",function(data){
46-
jQuery('#projet').append(jQuery('<option>').html('----------').attr('value',0));
46+
jQuery('#project').append(jQuery('<option>').html('----------').attr('value',0));
4747
for(i=0;i<data.projects.length;i++){
48-
jQuery('#projet').append(jQuery('<option>').html(data.projects[i].name).attr('value',data.projects[i].id));
48+
jQuery('#project').append(jQuery('<option>').html(data.projects[i].name).attr('value',data.projects[i].id));
4949
}
5050

5151
var urlUsers="/users.json";
@@ -68,8 +68,8 @@
6868
}else{
6969
//Recherche sur une liste
7070
url='/issues.json?limit=5000';
71-
if(jQuery('#projet').val()!='0'){
72-
url=url+'&project_id='+jQuery('#projet').val();
71+
if(jQuery('#project').val()!='0'){
72+
url=url+'&project_id='+jQuery('#project').val();
7373
}
7474
if(jQuery('#search-assigned').val()!='0'){
7575
url=url+'&assigned_to_id='+jQuery('#search-assigned').val();
@@ -111,11 +111,13 @@
111111
* Fonction qui
112112
*/
113113
function getDivPostIssue(ticketCardModele,issue){
114+
// console.log("getDivPostIssue(issue="+JSON.stringify(issue)+")");
114115
var ticketCard=ticketCardModele.clone().removeClass('ticket-modele').addClass('project'+issue.project.id).show();
115-
jQuery('.id',ticketCard).html(issue.id);
116+
117+
jQuery('.id',ticketCard).html('<a href="'+relativeUrl+'/issues/'+issue.id+'">'+issue.id+'</a>');
118+
jQuery('.project',ticketCard).html('<a href="'+relativeUrl+'/projects/'+issue.project.name+'/issues">'+issue.project.name+'</a>');
116119
jQuery('.subject',ticketCard).html(issue.subject);
117-
//jQuery('.status',ticketCard).html(issue.status.name);
118-
jQuery('.project',ticketCard).html(issue.project.name);
120+
jQuery('.status',ticketCard).html(issue.status.name);
119121
jQuery('.author',ticketCard).html(issue.author.name);
120122
if(issue.category){
121123
jQuery('.category',ticketCard).html(issue.category.name);
@@ -144,19 +146,29 @@
144146
}
145147

146148
if(showLinkedTicket && issue.relations && issue.relations.length>0){
147-
var text="";
148-
for (var i=0;i<issue.relations.length-1;i++){
149-
text=text+issue.relations[i].id+"-";
149+
console.log(JSON.stringify(issue.relations));
150+
var x_issues=new Array();
151+
for (var i=0;i<issue.relations.length;i++){
152+
var il=issue.relations[i];
153+
if(issue.id==il.issue_id) { x_issues[i]= il.issue_to_id; }
154+
else { x_issues[i]= il.issue_id; }
155+
}
156+
var text= JSON.stringify(x_issues); // hmm... that looks fine, actually
157+
/*
158+
// text=text+issue.relations[issue.relations.length-1].issue_id;
159+
var text;
160+
text=text+JSON.stringify(issue.relations[0]);
161+
for (var i=1;i<issue.relations.length;i++){
162+
// text=text+"-"+issue.relations[i].issue_id;
163+
text=text+JSON.stringify(issue.relations[i]);
150164
}
151-
text=text+issue.relations[issue.relations.length].id;
165+
*/
152166
jQuery('.linked span',ticketCard).html(text);
153167
jQuery('.linked',ticketCard).show();
154168
}else{
155169
jQuery('.linked',ticketCard).hide();
156170
}
157-
158-
159-
171+
160172
if(issue.custom_fields){
161173
for (var i=0;i<issue.custom_fields.length;i++){
162174
if(issue.custom_fields[i].id==12){
@@ -175,13 +187,10 @@
175187
}
176188
}
177189
}
178-
190+
179191
ticketCard.addClass("priority"+issue.priority.id);
180192
return ticketCard;
181193
}
182194

183195
}());
184196

185-
186-
187-

0 commit comments

Comments
 (0)