9c8b4c18d3dc3677e5c88fa125d761f3827200ea
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() {
Benjamin Renard Hide navbar on view_home

Benjamin Renard authored 10 years ago

83)   navbar_collapse_hide();
Benjamin Renard Manage multiple screen part...

Benjamin Renard authored 10 years ago

84)   if (user) {
85)     $('#view-home #title').html('Bonjour '+user.name);
86)   }
87)   else {
88)     $('#view-home #title').html('Bonjour');
89)   }
90)   if (groups.count()>0) {
91)     tbody=$('#view-home #mybalances tbody');
92)     tbody.html('');
93)     balances=groups.balances();
94)     var sum=0;
95)     for (g in balances) {
96)       if (jQuery.type(balances[g]['balance'][user.name])!='undefined') {
97)         if (balances[g]['balance'][user.name]['diff']<0) {
98)           sum+=balances[g]['balance'][user.name]['diff'];
99)           diff='<td class="negative">'+balances[g]['balance'][user.name]['diff'].toFixed(2)+'</td>';
100)         }
101)         else {
102)           value=balances[g]['balance'][user.name]['total']-balances[g]['min'];
103)           sum+=value;
104)           diff='<td class="positive">+'+value.toFixed(2)+' €</td>';
105)         }
Benjamin Renard Fixed link to group in Home...

Benjamin Renard authored 10 years ago

106)         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

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

168)     for (idx in contributions) {
169)       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

170)       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

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

174)   }
Benjamin Renard Clean code

Benjamin Renard authored 10 years ago

175)   
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

311)   
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

348)   contribution_uuid=$($(e.target).parents('div')[0]).data('uuid');
349)   contribution=group.contributions[contribution_uuid];
350)   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

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

366)   $('#add_contribution_modal #add_contribution_contributor_name')[0].value=contribution.contributor.name;
367)   $('#add_contribution_modal #add_contribution_title')[0].value=contribution.getTitle();
368)   $('#add_contribution_modal #add_contribution_cost')[0].value=contribution.cost;
369)   $('#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

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

380)   navbar_collapse_hide();
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

385)   delete localStorage.groups;
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

409)     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

410)   }
Benjamin Renard Improve balance display

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

462)       if (jQuery.type(data) != 'object' && data.loginerror) {
463)         alert(data.loginerror);
464)       }
465)       else {
466)         console.log(data);
467)         alert('Erreur durant la connexion au serveur');
468)       }
469)     }
470)   );
471) }
472) 
Benjamin Renard Add subscribe feature

Benjamin Renard authored 10 years ago

473) on_click_go_to_subscribe_btn=function() {
474)   $('#login_modal').modal('hide');
475)   $('#subscribe_modal').modal('show');
476) }
477) 
478) /********************
479)  * Subscribe
480)  ********************/
481) on_close_subscribe_modal=function(e) {
482)   $('#subscribe_modal form')[0].reset();
483) }
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

484) 
Benjamin Renard Add subscribe feature

Benjamin Renard authored 10 years ago

485) sync_server=false;
486) on_valid_subscribe_modal=function(e) {
487)   e.preventDefault();
488)   email=$('#subscribe_modal #subscribe_email')[0].value;
489)   name=$('#subscribe_modal #subscribe_name')[0].value;
490)   pass=$('#subscribe_modal #subscribe_pass')[0].value;
491)   server=$('#subscribe_modal #subscribe_server')[0].value;
492)   $('#subscribe_modal').modal('hide');
493)   pleaseWaitShow();
494)   sync_server.subscribe(server,email,name,pass,
495)     function(data) {
496)       localStorage.user=JSON.stringify({
497)         'name': data.name,
498)         'email': data.email,
499)         'password': data.password,
500)         'server': server,
501)       });
502)       pleaseWaitHide();
503)       logged_menu();
504)       alert('Bienvenu '+data.name+' !');
505)     },
506)     function(data) {
507)       pleaseWaitHide();
508)       if (jQuery.type(data) == 'object' && jQuery.type(data.subscribeerror)!='undefined') {
509)         alert(data.subscribeerror);
510)       }
511)       else {
512)         console.log(data);
513)         alert('Erreur durant la connexion au serveur');
514)       }
515)     }
516)   );
517) }
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

518) 
519) /********************
520)  * Sync
521)  ********************/
522) on_click_sync_btn=function(e) {
Benjamin Renard Hide navbar after sync btn...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

526)     sync_server.sync(user.server, user.email, user.password, groups.export(),
527)       function(data) {
528)         console.log(data);
529)         if (data.groups) {
530)           groups.import(data.groups);
531)           groups.save();
532)           refresh_group_list();
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

534)           alert('Groupes synchronisés');
535)         }
536)         else {
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

538)           console.log(data);
539)           alert('Erreur durant la synchronisation :(');
540)         }
541)       },
542)       function(data) {
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

544)         console.log(data);
545)         alert('Impossible de contacter le serveur :(');
546)       }
547)     );
548)   }
549)   else {
550)     alert("Vous devez vous connecter pour commencer");
551)     $('#login_modal').modal('show');
552)   }
553) }
554) 
555) /*
556)  * User menu
557)  */
558) user=false;
559) logged_menu=function() {
560)   user=JSON.parse(localStorage.user);
561)   $('#user-name').html(user.name);
562)   $('#user-menu li').remove();
563)   menu=$('#user-menu');
564)   menu.html("<li><a id='myaccount_btn'>Mon compte</a></li>"+
565)   "<li><a id='sync_btn'>Synchroniser</a></li>" +
566)   "<li class='divider'></li>" +
567)   "<li><a id='logoff_btn'>Déconnexion</a></li>");
568)   $('#myaccount_btn').bind('click',on_click_myaccount_btn);
569)   $('#sync_btn').bind('click',on_click_sync_btn);
570)   $('#logoff_btn').bind('click',on_click_logoff_btn);
571) }
572) 
573) logged_out_menu=function() {
Benjamin Renard Manage user global variable

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

575)   $('#user-name').html('Connexion');
576)   $('#user-menu li').remove();
577)   menu=$('#user-menu');
Benjamin Renard Add subscribe feature

Benjamin Renard authored 10 years ago

578)   menu.html("<li><a id='login_btn'>Connexion</a></li>"+
579) 	"<li><a id='subscribe_btn'>Inscription</a></li>");
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

580)   $('#login_btn').bind('click',on_click_login_btn);
Benjamin Renard Add subscribe feature

Benjamin Renard authored 10 years ago

581)   $('#subscribe_btn').bind('click',on_click_subscribe_btn);
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

582) }
583) 
584) on_click_myaccount_btn=function() {
585)   $('#myaccount_modal #myaccount_email').html(user.email);
586)   $('#myaccount_modal #myaccount_name')[0].value=user.name;
Benjamin Renard Display server in myaccount...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

588)   $('#myaccount_modal').modal('show');
589) }
590) 
591) on_click_login_btn=function() {
592)   $('#login_modal').modal('show');
593) }
594) 
Benjamin Renard Add subscribe feature

Benjamin Renard authored 10 years ago

595) on_click_subscribe_btn=function() {
596)   $('#subscribe_modal').modal('show');
597) }
598) 
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

599) on_click_logoff_btn=function() {
600)   delete localStorage.user;
601)   logged_out_menu();
602) }
603) 
Benjamin Renard Add pleaseWaitDialog and fu...

Benjamin Renard authored 10 years ago

604) /*******************
605)  * pleaseWaitDialog
606)  *******************/
607) 
608) pleaseWaitShow=function() {
Benjamin Renard Fix please wait modal

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

610) }
611) 
612) pleaseWaitHide=function() {
Benjamin Renard Fix please wait modal

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

614) }
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

615) 
616) /*********************
617)  * Activate
618)  *********************/
619) $( document ).ready( function() {
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

620)   pleaseWaitShow();
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

621)   if(typeof(Storage)!=="undefined"){
622)     groups=new GroupList();
623)     groups.loadFromLocalStorage();
624)     refresh_group_list();
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

625)     if (jQuery.type(localStorage.user)!='undefined') {
626)       logged_menu();
627)     }
628)     else {
629)       logged_out_menu();
630)     }
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

631)   }
632)   else {
633)     alert('Local storage not supported !');
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

635)     return;
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

636)   }
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

638) 
Benjamin Renard Add link on App Name in Navbar

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

642)   $('#add_group_submit').bind('click',on_valid_add_group_modal);
643)   $("#add_group_modal").on('shown.bs.modal',on_show_add_group_modal);
644)   $("#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

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

Benjamin Renard authored 10 years ago

646) 
647)   $('#clear_local_data').bind('click',clear_local_data);
648) 
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

649)   $('#login_modal').on('hidden.bs.modal',on_close_login_modal);
650)   $('#login_modal #login_submit').bind('click',on_valid_login_modal);
Benjamin Renard Add subscribe feature

Benjamin Renard authored 10 years ago

651)   $('#login_modal #go_to_subscribe_btn').bind('click',on_click_go_to_subscribe_btn);
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

652)   $('#login_modal form').bind('submit',on_valid_login_modal);
653) 
Benjamin Renard Add subscribe feature

Benjamin Renard authored 10 years ago

654)   $('#subscribe_modal').on('hidden.bs.modal',on_close_subscribe_modal);
655)   $('#subscribe_modal #subscribe_submit').bind('click',on_valid_subscribe_modal);
656)   $('#subscribe_modal form').bind('submit',on_valid_subscribe_modal);
657) 
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

658)   $('#view-group #contributor').bind('change',on_contributor_change);
659) 
660)   $('#add_contributor_btn').bind('click',on_click_add_contributor_btn);
661)   $('#add_contributor_submit').bind('click',on_valid_add_contributor_modal);
662)   $("#add_contributor_modal").on('shown.bs.modal',on_show_add_contributor_modal);
663)   $("#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

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

Benjamin Renard authored 10 years ago

665) 
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

667)   $('#del_contributor_btn').bind('click',on_click_del_contributor_btn);
668) 
669)   $('#add_contribution_btn').bind('click',on_click_add_contribution_btn);
670)   $('#add_contribution_submit').bind('click',on_valid_add_contribution_modal);
671)   $("#add_contribution_modal").on('shown.bs.modal',on_show_add_contribution_modal);
672)   $("#add_contribution_modal").on('hidden.bs.modal',on_close_add_contribution_modal);
673)   $("#add_contribution_modal form").on('submit',on_valid_add_contribution_modal);
674) 
675)   $("#display_balance_btn").bind('click',on_display_balance_btn_click);
676) 
677)   $('#remove_group_btn').bind('click',on_remove_group_btn_click);
Benjamin Renard Manage multiple screen part...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

679)   pleaseWaitHide();