a7e0ef90760d2701d5133ea391c9eb9e9c35c2ae
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

1) refresh_group_list=function() {
2)   grouplist=$('#group-choice')[0];
3)   $('a.group-choice').each(function(idx,a) {
4)     $(a).parent().remove();
5)   });
6) 
7)   if (groups.count()==0) {
8)     $(grouplist).prepend('<li><a class="group-choice">Aucune groupe</a></li>');
9)   }
10)   else { 
11)     groups.each(function(idx,group) {
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

12)       $(grouplist).prepend('<li><a class="group-choice" data-uuid="'+group.uuid+'">'+group.name+'</a></li>');
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

13)     });
14) 
15)     $('a.group-choice').each(function(idx,a) {
16)       $(a).bind('click',on_group_choice_click);
17)     });
18)   }
19) }
20) 
21) 
22) /****************
23)  * Add group
24)  ****************/
Benjamin Renard Hide navbar-groupe-collapse...

Benjamin Renard authored 10 years ago

25) 
26) on_click_add_group_btn=function(e) {
Benjamin Renard Add function navbar_collaps...

Benjamin Renard authored 10 years ago

27)   navbar_collapse_hide();
Benjamin Renard Hide navbar-groupe-collapse...

Benjamin Renard authored 10 years ago

28)   $('#add_group_modal').modal('show');
29) }
30) 
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

31) on_show_add_group_modal=function(e) {
32)   $('#add_group_modal #add_group_name').focus();
33) }
34) 
Benjamin Renard Manage submit event in moda...

Benjamin Renard authored 10 years ago

35) on_valid_add_group_modal=function (e) {
36)   e.preventDefault();
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

37)   var name=$('#add_group_name')[0].value;
38)   if (name=='') {
39)     alert('Vous devez saisir un nom !');
40)     return;
41)   }
42)   if (groups[name]!==undefined) {
43)     alert('Ce groupe exite déjà !');
44)     return;
45)   }
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

46)   var uuid=groups.newGroup(name);
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

47)   refresh_group_list();
48)   $('#add_group_modal').modal('hide');
49)   groups.save();
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

50)   view_group(groups[uuid]);
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

51) }
52) 
53) on_close_add_group_modal=function () {
Benjamin Renard Fix error on add_group_moda...

Benjamin Renard authored 10 years ago

54)   $('#add_group_modal form')[0].reset();
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

55) }
56) 
57) /****************
58)  * Nav bars
59)  ****************/
60) on_group_choice_click=function(e) {
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

61)   view_group(groups[$(e.target).data('uuid')]);
Benjamin Renard Add function navbar_collaps...

Benjamin Renard authored 10 years ago

62)   navbar_collapse_hide();
63) }
64) 
65) navbar_collapse_hide=function() {
66)   if ($('#navbar-groupe-collapse').hasClass('in')) {
67)     $('#navbar-groupe-collapse').collapse('hide');
68)   }
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

69) }
70) 
Benjamin Renard Manage multiple screen part...

Benjamin Renard authored 10 years ago

71) /****************
72)  * Parts
73)  ****************/
74) 
75) view_part=function(part) {
76)   $('.part').each(function(idx,div) {
77)     $(div).css('display','none');
78)   });
79)   $(part).css('display','block');
80) }
81) 
82) view_home=function() {
83)   if (user) {
84)     $('#view-home #title').html('Bonjour '+user.name);
85)   }
86)   else {
87)     $('#view-home #title').html('Bonjour');
88)   }
89)   if (groups.count()>0) {
90)     tbody=$('#view-home #mybalances tbody');
91)     tbody.html('');
92)     balances=groups.balances();
93)     var sum=0;
94)     for (g in balances) {
95)       if (jQuery.type(balances[g]['balance'][user.name])!='undefined') {
96)         if (balances[g]['balance'][user.name]['diff']<0) {
97)           sum+=balances[g]['balance'][user.name]['diff'];
98)           diff='<td class="negative">'+balances[g]['balance'][user.name]['diff'].toFixed(2)+'</td>';
99)         }
100)         else {
101)           value=balances[g]['balance'][user.name]['total']-balances[g]['min'];
102)           sum+=value;
103)           diff='<td class="positive">+'+value.toFixed(2)+' €</td>';
104)         }
Benjamin Renard Fixed link to group in Home...

Benjamin Renard authored 10 years ago

105)         tbody.html(tbody.html()+'<tr><td><a class="group-link" data-uuid="'+g+'">'+balances[g].name+'</a></td>'+diff+'</tr>');
Benjamin Renard Manage multiple screen part...

Benjamin Renard authored 10 years ago

106)       }
107)     }
Benjamin Renard Make group name as link in...

Benjamin Renard authored 10 years ago

108)     $('#view-home #mybalances a.group-link').bind('click',function(e) {
Benjamin Renard Fixed link to group in Home...

Benjamin Renard authored 10 years ago

109)       g=$(e.target).data('uuid');
Benjamin Renard Make group name as link in...

Benjamin Renard authored 10 years ago

110)       if (jQuery.type(groups[g])!='undefined') {
111)         view_group(groups[g]);
112)       }
113)     });
Benjamin Renard Manage multiple screen part...

Benjamin Renard authored 10 years ago

114)     if (sum<0) {
115)       $('#view-home #mybalances #total-value').html('<span class="negative">'+sum.toFixed(2)+' €</span>');
116)     }
117)     else {
118)       $('#view-home #mybalances #total-value').html('<span class="positive">'+(sum==0?'':'+')+sum.toFixed(2)+' €</span>');
119)     }
Benjamin Renard Fixed table display on home...

Benjamin Renard authored 10 years ago

120)     $('#view-home #mybalances').css('display','table');
Benjamin Renard Manage multiple screen part...

Benjamin Renard authored 10 years ago

121)   }
122)   else {
123)     $('#view-home #mybalances').css('display','none');
124)   }
125)   view_part('#view-home');
126) }
127) 
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

128) /****************
129)  * View group
130)  ****************/
131) view_group=function(group) {
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

132)   $('#view-group').data('uuid',group.uuid);
Benjamin Renard Replace usage of view-group...

Benjamin Renard authored 10 years ago

133)   $('#view-group h1 span:first').html(group.name);
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

134)   set_contributors(group);
135)   on_contributor_change();
Benjamin Renard Manage multiple screen part...

Benjamin Renard authored 10 years ago

136)   view_part('#view-group');
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

137) }
138) 
139) set_contributors=function(group) {
140)   $('#view-group #contributor option').remove();
141)   if(group.contributors.length==0) {
142)     $('#view-group #contributor').append('<option>Aucun participant</option>');
143)   }
144)   else {
145)     $(group.contributors).each(function(idx,c) {
146)       $('#view-group #contributor').append('<option value="'+c.name+'">'+c.name+'</option>');
147)     });
148)   }
149) }
150) 
151) on_contributor_change=function(e) {
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

152)   show_contributions(groups[$('#view-group').data('uuid')],$('#view-group #contributor')[0].value);
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

153) }
154) 
155) show_contributions=function(group,contributor_name) {
156)   var tbody=$($('#view-group #contributions tbody')[0]);
157)   tbody.html('');
158)   total=$($('#view-group #total-value')[0]);
159)   contributions=group.contributionsByContributorName(contributor_name);
Benjamin Renard Sort contribution by date o...

Benjamin Renard authored 10 years ago

160)   contributions.reverse();
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

161)   if (contributions.length==0) {
162)     tbody.append('<tr><td colspan=3>Aucune contributions</td></tr>');
163)     total.html('0,00 €');
164)   }
165)   else {
166)     sum=0;
Benjamin Renard Sort contribution by date o...

Benjamin Renard authored 10 years ago

167)     for (idx in contributions) {
168)       col_actions='<td><div class="btn-group" data-uuid="'+contributions[idx].uuid+'"><button type="button" class="btn btn-default contribution_edit_btn"><span class="glyphicon glyphicon-edit"></span></button><button type="button" class="btn btn-default contribution_delete_btn"><span class="glyphicon glyphicon-trash"></span></button></div></td>';
Benjamin Renard Display cost of contributio...

Benjamin Renard authored 10 years ago

169)       tbody.append('<tr><td>'+contributions[idx].getTitle()+'</td><td>'+contributions[idx].cost.toFixed(2)+' €</td>'+col_actions+'</tr>');
Benjamin Renard Sort contribution by date o...

Benjamin Renard authored 10 years ago

170)       sum+=contributions[idx].cost;
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

171)     }
Benjamin Renard Sort contribution by date o...

Benjamin Renard authored 10 years ago

172)     total.html(sum.toFixed(2)+' €');
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

173)   }
Benjamin Renard Clean code

Benjamin Renard authored 10 years ago

174)   
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

175)   $('.contribution_delete_btn').bind('click',on_contribution_delete_btn_click);
176)   $('.contribution_edit_btn').bind('click',on_contribution_edit_btn_click);
177) }
178) 
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

179) /******************************
180)  * Add/Edit/remove contributor
181)  ******************************/
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

182) on_click_add_contributor_btn=function() {
Benjamin Renard Fixed add contributor

Benjamin Renard authored 10 years ago

183)   $('#add_contributor_modal').data('group-uuid',$('#view-group').data('uuid'))
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

184)   $($('#add_contributor_modal h4')[0]).html('Ajouter un participant');
185)   $($('#add_contributor_modal #add_contributor_submit')[0]).html('Ajouter');
186)   $('#view-group #edit_id')[0].value='-1';
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

187)   $('#add_contributor_modal').modal('show');
188) }
189) 
190) on_show_add_contributor_modal=function(e) {
191)   $('#add_contributor_modal #add_contributor_name').focus();
192) }
193) 
Benjamin Renard Manage submit event in moda...

Benjamin Renard authored 10 years ago

194) on_valid_add_contributor_modal=function(e) {
195)   e.preventDefault();
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

196)   var group=groups[$('#add_contributor_modal').data('group-uuid')];
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

197)   var name=$('#add_contributor_name')[0].value;
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

198)   edit_id=$('#view-group #edit_id')[0].value;
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

199)   if (name=='') {
200)     alert('Vous devez saisir un nom !');
201)     return;
202)   }
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

203)   duplicate=group.contributorByName(name);
204)   if (duplicate!=undefined && duplicate.id!=edit_id) {
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

205)     alert('Un contributor porte déjà ce nom !');
206)     return;
207)   }
208)   var email=$('#add_contributor_email')[0].value;
209)   if (email=='') {
210)     alert('Vous devez saisir un email !');
211)     return;
212)   }
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

213)   duplicate=group.contributorByEmail(email)
214)   if (duplicate!=undefined && duplicate.id!=edit_id) {
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

215)     alert('Un contributor utilise déjà cet email !');
216)     return;
217)   }
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

218)   if(edit_id=='-1') {
219)     group.addContributor(new Contributor(name,email));
220)   }
221)   else {
222)     group.replaceContributor(edit_id,new Contributor(name,email));
223)   }
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

224)   set_contributors(group);
225)   $('#add_contributor_modal').modal('hide');
226)   $('#add_contributor_name')[0].value='';
227)   $('#add_contributor_email')[0].value='';
228)   groups.save();
229) }
230) 
231) on_close_add_contributor_modal=function () {
232)   $('#add_contributor_name')[0].value='';
233)   $('#add_contributor_email')[0].value='';
234) }
235) 
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

236) on_edit_contributor_btn_click=function(e) {
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

237)   var group=groups[$('#view-group').data('uuid')];
238)   $('#add_contributor_modal').data('group-uuid',group.uuid);
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

239)   contributor_name=$('#view-group #contributor')[0].value;
240)   contributor=group.contributorByName(contributor_name);
241)   $('#view-group #edit_id')[0].value=contributor.id;
242)   $('#add_contributor_modal #add_contributor_name')[0].value=contributor.name;
243)   $('#add_contributor_modal #add_contributor_email')[0].value=contributor.email;
244)   $($('#add_contributor_modal h4')[0]).html('Editer un participant');
245)   $($('#add_contributor_modal #add_contributor_submit')[0]).html('Valider');
246)   $('#add_contributor_modal').modal('show');
247) }
248) 
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

249) on_click_del_contributor_btn=function() {
250)   contributor=$('#view-group #contributor')[0].value;
251)   question='Voulez-vous vraiment supprimer '+contributor+' ?';
252)   myconfirm(question,on_confirm_del_contributor,null,contributor);
253) }
254) 
255) on_confirm_del_contributor=function(contributor) {
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

256)   var group=groups[$('#view-group').data('uuid')];
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

257)   group.removeContributor(contributor);
258)   set_contributors(group);
259)   groups.save();
260) }
261) 
262) /********************************
263)  * Add/edit/delete contribution
264)  ********************************/
265) on_show_add_contribution_modal=function(e) {
266)   var cs=$($('#add_contribution_modal #add_contribution_contributor_name')[0]);
267)   cs.html('');
268)   $('#view-group #contributor option').each(function(idx,option) {
269)     cs.append($(option).clone());
270)   });
271)   cs[0].value = $('#view-group #contributor')[0].value;
272)   $('#add_contribution_modal #add_contribution_title').focus();
273) }
274) 
275) on_click_add_contribution_btn=function() {
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

276)   $('#add_contribution_modal').data('group-uuid',$('#view-group').data('uuid'));
Benjamin Renard Use UUID as Contribution id...

Benjamin Renard authored 10 years ago

277)   $('#add_contribution_modal #edit_uuid')[0].value='-1';
Benjamin Renard Customize add_contribution_...

Benjamin Renard authored 10 years ago

278)   $($('#add_contribution_modal h4')[0]).html('Ajouter une contribution');
279)   $($('#add_contribution_modal #add_contribution_submit')[0]).html('Ajouter');
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

280)   $('#add_contribution_modal').modal('show');
281) }
282) 
283) on_valid_add_contribution_modal=function(e) {
284)   e.preventDefault();
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

285)   var group=groups[$('#add_contribution_modal').data('group-uuid')];
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

286)   var contributor_name=$('#add_contribution_contributor_name')[0].value;
287)   var contributor=group.contributorByName(contributor_name);
288)   if (contributor==undefined) {
289)     alert('Participant inconu !');
290)     return;
291)   }
292)   var title=$('#add_contribution_title')[0].value;
293)   if (title=='') {
294)     $('#add_contribution_title')[0].focus();
295)     alert('Vous devez saisir un titre !');
296)     return;
297)   }
298)   var cost=$('#add_contribution_cost')[0].value;
299)   if (cost=='') {
300)     $('#add_contribution_cost')[0].focus();
301)     alert('Vous devez saisir un coût !');
302)     return;
303)   }
Benjamin Renard Add support of dot and comm...

Benjamin Renard authored 10 years ago

304)   else if(!RegExp('^[0-9]*((,|\.)[0-9]{1,2})*$').test(cost)) {
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

305)     $('#add_contribution_cost')[0].focus();
306)     alert('Coût incorrect !');
307)     return;
308)   }
309)   cost=parseFloat(cost.replace(',','.'));
Benjamin Renard Clean code

Benjamin Renard authored 10 years ago

310)   
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

311)   var date=$('#add_contribution_date')[0].value;
312)   if (date!='') {
313)     if(!RegExp('^[0-3][0-9]\/[0-1][0-9]\/[0-2][0-9][0-9][0-9]$').test(date)) {
314)       $('#add_contribution_date')[0].focus();
315)       alert('Date incorrect !');
316)       return;
317)     }
318)     date=moment(date,'DD-MM-YYYY').toDate();
319)     if (jQuery.type(date)!='date') {
320)       alert('Date non-reconnu !');
321)       return;
322)     }
323)   }
324)   else {
325)     date=new Date();
326)   }
Benjamin Renard Clean code

Benjamin Renard authored 10 years ago

327)   
Benjamin Renard Use UUID as Contribution id...

Benjamin Renard authored 10 years ago

328)   if($('#add_contribution_modal #edit_uuid')[0].value=='-1') {
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

329)     group.addContribution(new Contribution(contributor,cost,title,date));
330)   }
331)   else {
Benjamin Renard Use UUID as Contribution id...

Benjamin Renard authored 10 years ago

332)     contribution_uuid=$('#add_contribution_modal #edit_uuid')[0].value;
333)     group.updateContribution(contribution_uuid,new Contribution(contributor,cost,title,date));
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

334)   }
335)   show_contributions(group,contributor_name);
336)   $('#add_contribution_modal').modal('hide');
337)   $('#add_contribution_modal form')[0].reset();
338)   groups.save();
339) }
340) 
341) on_close_add_contribution_modal=function () {
342)   $('#add_contribution_modal form')[0].reset();
343) }
344) 
345) on_contribution_delete_btn_click=function(e) {
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

346)   var group=groups[$('#view-group').data('uuid')];
Benjamin Renard Use UUID as Contribution id...

Benjamin Renard authored 10 years ago

347)   contribution_uuid=$($(e.target).parents('div')[0]).data('uuid');
348)   contribution=group.contributions[contribution_uuid];
349)   myconfirm('Etes-vous sûre de vouloir supprimer la participation '+contribution.getTitle()+' de '+contribution.contributor.name+' ?',on_confirm_contribution_delete,null,{'group':group,'contribution_uuid':contribution_uuid, 'contribution': contribution} );
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

350) }
351) 
352) on_confirm_contribution_delete=function(data) {
Benjamin Renard Use UUID as Contribution id...

Benjamin Renard authored 10 years ago

353)   data.group.deleteContribution(data.contribution_uuid);
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

354)   groups.save();
355)   on_contributor_change();
356) }
357) 
358) on_contribution_edit_btn_click=function(e) {
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

359)   var group=groups[$('#view-group').data('uuid')];
360)   $('#add_contribution_modal').data('group-uuid',$('#view-group').data('uuid'));
Benjamin Renard Customize add_contribution_...

Benjamin Renard authored 10 years ago

361)   $($('#add_contribution_modal h4')[0]).html('Editer une contribution');
362)   $($('#add_contribution_modal #add_contribution_submit')[0]).html('Valider');
Benjamin Renard Use UUID as Contribution id...

Benjamin Renard authored 10 years ago

363)   contribution_uuid=$($(e.target).parents('div')[0]).data('uuid');
364)   contribution=group.contributions[contribution_uuid];
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

365)   $('#add_contribution_modal #add_contribution_contributor_name')[0].value=contribution.contributor.name;
366)   $('#add_contribution_modal #add_contribution_title')[0].value=contribution.getTitle();
367)   $('#add_contribution_modal #add_contribution_cost')[0].value=contribution.cost;
368)   $('#add_contribution_modal #add_contribution_date')[0].value=moment(contribution.date).format('DD/MM/YYYY');
Benjamin Renard Use UUID as Contribution id...

Benjamin Renard authored 10 years ago

369)   $('#add_contribution_modal #edit_uuid')[0].value=contribution_uuid;
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

370)   $('#add_contribution_modal').modal('show');
371) }
372) 
373) 
374) 
375) /********************
376)  * Clear local data
377)  ********************/
378) clear_local_data=function() {
Benjamin Renard Add function navbar_collaps...

Benjamin Renard authored 10 years ago

379)   navbar_collapse_hide();
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

380)   myconfirm('Etes-vous sûre de vouloir supprimer les données locales ?',on_confirm_clear_local_data);
381) }
382) 
383) on_confirm_clear_local_data=function(data) {
Benjamin Renard Just remove groups from loc...

Benjamin Renard authored 10 years ago

384)   delete localStorage.groups;
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

385)   location.reload();
386) }
387) 
388) /*********************
389)  * View balance
390)  *********************/
391) 
392) on_display_balance_btn_click=function(e) {
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

393)   group=groups[$('#view-group').data('uuid')];
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

394)   display_balance(group);
395) }
396) 
397) display_balance=function(group) {
398)   bal=group.balance();
399)   tbody=$($('#display_balance_modal tbody')[0]);
400)   tbody.html('');
Benjamin Renard Improve balance display

Benjamin Renard authored 10 years ago

401)   for (c in bal['balance']) {
402)     if(bal['balance'][c]['diff']<0) {
403)       diff='<td class="negative">'+bal['balance'][c]['diff'].toFixed(2)+' €</td>';
404)     }
405)     else {
406)       diff='<td><span class="glyphicon glyphicon-thumbs-up"></span></td>';
407)     }
Benjamin Renard Fixed total float number di...

Benjamin Renard authored 10 years ago

408)     tbody.append('<tr><td>'+c+'</td><td>'+bal['balance'][c]['total'].toFixed(2)+' €</td>'+diff+'</tr>');
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

409)   }
Benjamin Renard Improve balance display

Benjamin Renard authored 10 years ago

410)   $('#display_balance_modal #total-value').html(bal.sum.toFixed(2)+' €');
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

411)   $('#display_balance_modal').modal('show');
412) }
413) 
414) /*********************
415)  * Remove group
416)  *********************/
417) 
418) on_remove_group_btn_click=function(e) {
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

419)   group=groups[$('#view-group').data('uuid')];
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

420)   myconfirm('Etes-vous sûre de vouloir supprimer le group '+group.name+' ?',on_confirm_remove_group,null,group);
421) }
422) 
423) on_confirm_remove_group=function(group) {
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

424)   if(groups.removeGroup(group.uuid)) {
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

425)     groups.save();
426)     location.reload();
427)   }
428)   else {
429)     alert('Erreur en supprimant le groupe '+group.name+' :(');
430)   }
431) }
432) 
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

433) /********************
434)  * Login
435)  ********************/
436) on_close_login_modal=function(e) {
437)   $('#login_modal form')[0].reset();
438) }
439) 
440) sync_server=false;
441) on_valid_login_modal=function(e) {
Benjamin Renard Manage submit event in moda...

Benjamin Renard authored 10 years ago

442)   e.preventDefault();
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

443)   email=$('#login_modal #login_email')[0].value;
444)   pass=$('#login_modal #login_pass')[0].value;
445)   server=$('#login_modal #login_server')[0].value;
446)   $('#login_modal').modal('hide');
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

447)   pleaseWaitShow();
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

448)   sync_server.login(server,email,pass,
449)     function(data) {
450)       localStorage.user=JSON.stringify({
451)         'name': data.name,
452)         'email': email,
453)         'password': pass,
454)         'server': server,
455)       });
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

456)       pleaseWaitHide();
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

457)       logged_menu();
458)     },
459)     function(data) {
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

460)       pleaseWaitHide();
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

461)       if (jQuery.type(data) != 'object' && data.loginerror) {
462)         alert(data.loginerror);
463)       }
464)       else {
465)         console.log(data);
466)         alert('Erreur durant la connexion au serveur');
467)       }
468)     }
469)   );
470) }
471) 
472) 
473) 
474) /********************
475)  * Sync
476)  ********************/
477) on_click_sync_btn=function(e) {
Benjamin Renard Hide navbar after sync btn...

Benjamin Renard authored 10 years ago

478)   navbar_collapse_hide();
Benjamin Renard Manage user global variable

Benjamin Renard authored 10 years ago

479)   if (user) {
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

480)     pleaseWaitShow();
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

481)     sync_server.sync(user.server, user.email, user.password, groups.export(),
482)       function(data) {
483)         console.log(data);
484)         if (data.groups) {
485)           groups.import(data.groups);
486)           groups.save();
487)           refresh_group_list();
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

488)           pleaseWaitHide();
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

489)           alert('Groupes synchronisés');
490)         }
491)         else {
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

492)           pleaseWaitHide();
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

493)           console.log(data);
494)           alert('Erreur durant la synchronisation :(');
495)         }
496)       },
497)       function(data) {
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

498)         pleaseWaitHide();
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

499)         console.log(data);
500)         alert('Impossible de contacter le serveur :(');
501)       }
502)     );
503)   }
504)   else {
505)     alert("Vous devez vous connecter pour commencer");
506)     $('#login_modal').modal('show');
507)   }
508) }
509) 
510) /*
511)  * User menu
512)  */
513) user=false;
514) logged_menu=function() {
515)   user=JSON.parse(localStorage.user);
516)   $('#user-name').html(user.name);
517)   $('#user-menu li').remove();
518)   menu=$('#user-menu');
519)   menu.html("<li><a id='myaccount_btn'>Mon compte</a></li>"+
520)   "<li><a id='sync_btn'>Synchroniser</a></li>" +
521)   "<li class='divider'></li>" +
522)   "<li><a id='logoff_btn'>Déconnexion</a></li>");
523)   $('#myaccount_btn').bind('click',on_click_myaccount_btn);
524)   $('#sync_btn').bind('click',on_click_sync_btn);
525)   $('#logoff_btn').bind('click',on_click_logoff_btn);
526) }
527) 
528) logged_out_menu=function() {
Benjamin Renard Manage user global variable

Benjamin Renard authored 10 years ago

529)   user=false;
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

530)   $('#user-name').html('Connexion');
531)   $('#user-menu li').remove();
532)   menu=$('#user-menu');
533)   menu.html("<li><a id='login_btn'>Connexion</a></li>");
534)   $('#login_btn').bind('click',on_click_login_btn);
535) }
536) 
537) on_click_myaccount_btn=function() {
538)   $('#myaccount_modal #myaccount_email').html(user.email);
539)   $('#myaccount_modal #myaccount_name')[0].value=user.name;
Benjamin Renard Display server in myaccount...

Benjamin Renard authored 10 years ago

540)   $('#myaccount_modal #myaccount_server').html(user.server);
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

541)   $('#myaccount_modal').modal('show');
542) }
543) 
544) on_click_login_btn=function() {
545)   $('#login_modal').modal('show');
546) }
547) 
548) on_click_logoff_btn=function() {
549)   delete localStorage.user;
550)   logged_out_menu();
551) }
552) 
Benjamin Renard Add pleaseWaitDialog and fu...

Benjamin Renard authored 10 years ago

553) /*******************
554)  * pleaseWaitDialog
555)  *******************/
556) 
557) pleaseWaitShow=function() {
Benjamin Renard Fix please wait modal

Benjamin Renard authored 10 years ago

558)   $('#please_wait_modal').modal('show');
Benjamin Renard Add pleaseWaitDialog and fu...

Benjamin Renard authored 10 years ago

559) }
560) 
561) pleaseWaitHide=function() {
Benjamin Renard Fix please wait modal

Benjamin Renard authored 10 years ago

562)   $('#please_wait_modal').modal('hide');
Benjamin Renard Add pleaseWaitDialog and fu...

Benjamin Renard authored 10 years ago

563) }
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

564) 
565) /*********************
566)  * Activate
567)  *********************/
568) $( document ).ready( function() {
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

569)   pleaseWaitShow();
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

570)   if(typeof(Storage)!=="undefined"){
571)     groups=new GroupList();
572)     groups.loadFromLocalStorage();
573)     refresh_group_list();
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

574)     if (jQuery.type(localStorage.user)!='undefined') {
575)       logged_menu();
576)     }
577)     else {
578)       logged_out_menu();
579)     }
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

580)   }
581)   else {
582)     alert('Local storage not supported !');
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

583)     pleaseWaitHide();
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

584)     return;
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

585)   }
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

586)   sync_server=new SyncServer();
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

587) 
Benjamin Renard Add link on App Name in Navbar

Benjamin Renard authored 10 years ago

588)   $('#app-name').bind('click',view_home);
589) 
Benjamin Renard Hide navbar-groupe-collapse...

Benjamin Renard authored 10 years ago

590)   $('#add_group_btn').bind('click',on_click_add_group_btn);
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

591)   $('#add_group_submit').bind('click',on_valid_add_group_modal);
592)   $("#add_group_modal").on('shown.bs.modal',on_show_add_group_modal);
593)   $("#add_group_modal").on('hidden.bs.modal',on_close_add_group_modal);
Benjamin Renard Manage submit event in moda...

Benjamin Renard authored 10 years ago

594)   $("#add_group_modal form").bind('submit',on_valid_add_group_modal);
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

595) 
596)   $('#clear_local_data').bind('click',clear_local_data);
597) 
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

598)   $('#login_modal').on('hidden.bs.modal',on_close_login_modal);
599)   $('#login_modal #login_submit').bind('click',on_valid_login_modal);
600)   $('#login_modal form').bind('submit',on_valid_login_modal);
601) 
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

602)   $('#view-group #contributor').bind('change',on_contributor_change);
603) 
604)   $('#add_contributor_btn').bind('click',on_click_add_contributor_btn);
605)   $('#add_contributor_submit').bind('click',on_valid_add_contributor_modal);
606)   $("#add_contributor_modal").on('shown.bs.modal',on_show_add_contributor_modal);
607)   $("#add_contributor_modal").on('hidden.bs.modal',on_close_add_contributor_modal);
Benjamin Renard Manage submit event in moda...

Benjamin Renard authored 10 years ago

608)   $("#add_contributor_modal form").bind('submit',on_valid_add_contributor_modal);
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

609) 
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

610)   $('#edit_contributor_btn').bind('click',on_edit_contributor_btn_click);
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

611)   $('#del_contributor_btn').bind('click',on_click_del_contributor_btn);
612) 
613)   $('#add_contribution_btn').bind('click',on_click_add_contribution_btn);
614)   $('#add_contribution_submit').bind('click',on_valid_add_contribution_modal);
615)   $("#add_contribution_modal").on('shown.bs.modal',on_show_add_contribution_modal);
616)   $("#add_contribution_modal").on('hidden.bs.modal',on_close_add_contribution_modal);
617)   $("#add_contribution_modal form").on('submit',on_valid_add_contribution_modal);
618) 
619)   $("#display_balance_btn").bind('click',on_display_balance_btn_click);
620) 
621)   $('#remove_group_btn').bind('click',on_remove_group_btn_click);
Benjamin Renard Manage multiple screen part...

Benjamin Renard authored 10 years ago

622)   view_home();
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

623)   pleaseWaitHide();