52f4d37b88492d378ecc238a6c4ff37600570d4e
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) {
Benjamin Renard Manage contributor by their...

Benjamin Renard authored 10 years ago

96)       if (jQuery.type(balances[g]['balance'][user.email])!='undefined') {
97)         if (balances[g]['balance'][user.email]['diff']<0) {
98)           sum+=balances[g]['balance'][user.email]['diff'];
99)           diff='<td class="negative">'+balances[g]['balance'][user.email]['diff'].toFixed(2)+'</td>';
Benjamin Renard Manage multiple screen part...

Benjamin Renard authored 10 years ago

100)         }
101)         else {
Benjamin Renard Manage contributor by their...

Benjamin Renard authored 10 years ago

102)           value=balances[g]['balance'][user.email]['total']-balances[g]['min'];
Benjamin Renard Manage multiple screen part...

Benjamin Renard authored 10 years ago

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 {
Benjamin Renard Manage contributor by their...

Benjamin Renard authored 10 years ago

146)     for (email in group.contributors) {
147)       $('#view-group #contributor').append('<option value="'+email+'">'+group.contributors[email].name+'</option>');
148)     }
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

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) 
Benjamin Renard Manage contributor by their...

Benjamin Renard authored 10 years ago

156) show_contributions=function(group,contributor_email) {
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

157)   var tbody=$($('#view-group #contributions tbody')[0]);
158)   tbody.html('');
159)   total=$($('#view-group #total-value')[0]);
Benjamin Renard Manage contributor by their...

Benjamin Renard authored 10 years ago

160)   contributions=group.contributionsByContributorEmail(contributor_email);
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 date of contributions

Benjamin Renard authored 10 years ago

170)       tbody.append('<tr><td>'+contributions[idx].getTitle()+'</td><td>'+contributions[idx].cost.toFixed(2)+' €<br/><span class="date">'+moment(contributions[idx].date).format('DD/MM/YYYY')+'</span></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 Manage contributor by their...

Benjamin Renard authored 10 years ago

188)   $('#add_contributor_modal #add_contributor_email').attr('disabled',false);
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

201)   if (name=='') {
202)     alert('Vous devez saisir un nom !');
203)     return;
204)   }
205)   var email=$('#add_contributor_email')[0].value;
206)   if (email=='') {
207)     alert('Vous devez saisir un email !');
208)     return;
209)   }
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

210)   duplicate=group.contributorByEmail(email)
Benjamin Renard Manage contributor by their...

Benjamin Renard authored 10 years ago

211)   if (duplicate!=undefined && edit=='-1') {
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

212)     alert('Un contributor utilise déjà cet email !');
213)     return;
214)   }
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

215)   if(edit_id=='-1') {
216)     group.addContributor(new Contributor(name,email));
217)   }
218)   else {
Benjamin Renard Manage contributor by their...

Benjamin Renard authored 10 years ago

219)     group.replaceContributor(email,new Contributor(name,email));
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

220)   }
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

232)   var group=groups[$('#view-group').data('uuid')];
233)   $('#add_contributor_modal').data('group-uuid',group.uuid);
Benjamin Renard Manage contributor by their...

Benjamin Renard authored 10 years ago

234)   contributor_email=$('#view-group #contributor')[0].value;
235)   contributor=group.contributorByEmail(contributor_email);
236)   $('#view-group #edit_id')[0].value=contributor_email;
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

237)   $('#add_contributor_modal #add_contributor_name')[0].value=contributor.name;
238)   $('#add_contributor_modal #add_contributor_email')[0].value=contributor.email;
Benjamin Renard Manage contributor by their...

Benjamin Renard authored 10 years ago

239)   $('#add_contributor_modal #add_contributor_email').attr('disabled',true);
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

240)   $($('#add_contributor_modal h4')[0]).html('Editer un participant');
241)   $($('#add_contributor_modal #add_contributor_submit')[0]).html('Valider');
242)   $('#add_contributor_modal').modal('show');
243) }
244) 
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

253)   group.removeContributor(contributor);
254)   set_contributors(group);
255)   groups.save();
256) }
257) 
258) /********************************
259)  * Add/edit/delete contribution
260)  ********************************/
261) on_show_add_contribution_modal=function(e) {
Benjamin Renard Manage contributor by their...

Benjamin Renard authored 10 years ago

262)   $('#add_contribution_modal #add_contribution_contributor_email').html($('#view-group #contributor').html());
263)   $('#add_contribution_modal #add_contribution_contributor_email')[0].value=$('#view-group #contributor')[0].value;
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

264)   $('#add_contribution_modal #add_contribution_title').focus();
265) }
266) 
267) on_click_add_contribution_btn=function() {
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

272)   $('#add_contribution_modal').modal('show');
273) }
274) 
275) on_valid_add_contribution_modal=function(e) {
276)   e.preventDefault();
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

277)   var group=groups[$('#add_contribution_modal').data('group-uuid')];
Benjamin Renard Manage contributor by their...

Benjamin Renard authored 10 years ago

278)   var contributor_email=$('#add_contribution_contributor_email')[0].value;
279)   var contributor=group.contributorByEmail(contributor_email);
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

280)   if (contributor==undefined) {
281)     alert('Participant inconu !');
282)     return;
283)   }
284)   var title=$('#add_contribution_title')[0].value;
285)   if (title=='') {
286)     $('#add_contribution_title')[0].focus();
287)     alert('Vous devez saisir un titre !');
288)     return;
289)   }
290)   var cost=$('#add_contribution_cost')[0].value;
291)   if (cost=='') {
292)     $('#add_contribution_cost')[0].focus();
293)     alert('Vous devez saisir un coût !');
294)     return;
295)   }
Benjamin Renard Add support of dot and comm...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

297)     $('#add_contribution_cost')[0].focus();
298)     alert('Coût incorrect !');
299)     return;
300)   }
301)   cost=parseFloat(cost.replace(',','.'));
Benjamin Renard Clean code

Benjamin Renard authored 10 years ago

302)   
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

303)   var date=$('#add_contribution_date')[0].value;
304)   if (date!='') {
305)     if(!RegExp('^[0-3][0-9]\/[0-1][0-9]\/[0-2][0-9][0-9][0-9]$').test(date)) {
306)       $('#add_contribution_date')[0].focus();
307)       alert('Date incorrect !');
308)       return;
309)     }
310)     date=moment(date,'DD-MM-YYYY').toDate();
311)     if (jQuery.type(date)!='date') {
312)       alert('Date non-reconnu !');
313)       return;
314)     }
315)   }
316)   else {
317)     date=new Date();
318)   }
Benjamin Renard Clean code

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

321)     group.addContribution(new Contribution(contributor,cost,title,date));
322)   }
323)   else {
Benjamin Renard Use UUID as Contribution id...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

326)   }
Benjamin Renard Manage contributor by their...

Benjamin Renard authored 10 years ago

327)   show_contributions(group,contributor_email);
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

328)   $('#add_contribution_modal').modal('hide');
329)   $('#add_contribution_modal form')[0].reset();
330)   groups.save();
331) }
332) 
333) on_close_add_contribution_modal=function () {
334)   $('#add_contribution_modal form')[0].reset();
335) }
336) 
337) on_contribution_delete_btn_click=function(e) {
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

342) }
343) 
344) on_confirm_contribution_delete=function(data) {
Benjamin Renard Use UUID as Contribution id...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

346)   groups.save();
347)   on_contributor_change();
348) }
349) 
350) on_contribution_edit_btn_click=function(e) {
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

355)   contribution_uuid=$($(e.target).parents('div')[0]).data('uuid');
356)   contribution=group.contributions[contribution_uuid];
Benjamin Renard Manage contributor by their...

Benjamin Renard authored 10 years ago

357)   $('#add_contribution_modal #add_contribution_contributor_email')[0].value=contribution.contributor.email;
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

358)   $('#add_contribution_modal #add_contribution_title')[0].value=contribution.getTitle();
359)   $('#add_contribution_modal #add_contribution_cost')[0].value=contribution.cost;
360)   $('#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

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

Benjamin Renard authored 10 years ago

362)   $('#add_contribution_modal').modal('show');
363) }
364) 
365) 
366) 
367) /********************
368)  * Clear local data
369)  ********************/
370) clear_local_data=function() {
Benjamin Renard Add function navbar_collaps...

Benjamin Renard authored 10 years ago

371)   navbar_collapse_hide();
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

376)   delete localStorage.groups;
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

377)   location.reload();
378) }
379) 
380) /*********************
381)  * View balance
382)  *********************/
383) 
384) on_display_balance_btn_click=function(e) {
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

386)   display_balance(group);
387) }
388) 
389) display_balance=function(group) {
390)   bal=group.balance();
391)   tbody=$($('#display_balance_modal tbody')[0]);
392)   tbody.html('');
Benjamin Renard Improve balance display

Benjamin Renard authored 10 years ago

393)   for (c in bal['balance']) {
394)     if(bal['balance'][c]['diff']<0) {
395)       diff='<td class="negative">'+bal['balance'][c]['diff'].toFixed(2)+' €</td>';
396)     }
397)     else {
398)       diff='<td><span class="glyphicon glyphicon-thumbs-up"></span></td>';
399)     }
Benjamin Renard Manage contributor by their...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

401)   }
Benjamin Renard Improve balance display

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

403)   $('#display_balance_modal').modal('show');
404) }
405) 
406) /*********************
407)  * Remove group
408)  *********************/
409) 
410) on_remove_group_btn_click=function(e) {
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

417)     groups.save();
418)     location.reload();
419)   }
420)   else {
421)     alert('Erreur en supprimant le groupe '+group.name+' :(');
422)   }
423) }
424) 
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

425) /********************
426)  * Login
427)  ********************/
428) on_close_login_modal=function(e) {
429)   $('#login_modal form')[0].reset();
430) }
431) 
432) sync_server=false;
433) on_valid_login_modal=function(e) {
Benjamin Renard Manage submit event in moda...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

435)   email=$('#login_modal #login_email')[0].value;
436)   pass=$('#login_modal #login_pass')[0].value;
437)   server=$('#login_modal #login_server')[0].value;
438)   $('#login_modal').modal('hide');
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

440)   sync_server.login(server,email,pass,
441)     function(data) {
442)       localStorage.user=JSON.stringify({
443)         'name': data.name,
444)         'email': email,
445)         'password': pass,
446)         'server': server,
447)       });
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

449)       logged_menu();
450)     },
451)     function(data) {
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

453)       if (jQuery.type(data) != 'object' && data.loginerror) {
454)         alert(data.loginerror);
455)       }
456)       else {
457)         console.log(data);
458)         alert('Erreur durant la connexion au serveur');
459)       }
460)     }
461)   );
462) }
463) 
Benjamin Renard Add subscribe feature

Benjamin Renard authored 10 years ago

464) on_click_go_to_subscribe_btn=function() {
465)   $('#login_modal').modal('hide');
466)   $('#subscribe_modal').modal('show');
467) }
468) 
469) /********************
470)  * Subscribe
471)  ********************/
472) on_close_subscribe_modal=function(e) {
473)   $('#subscribe_modal form')[0].reset();
474) }
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

475) 
Benjamin Renard Add subscribe feature

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

509) 
510) /********************
511)  * Sync
512)  ********************/
513) on_click_sync_btn=function(e) {
Benjamin Renard Hide navbar after sync btn...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

516)     pleaseWaitShow();
Benjamin Renard Manage contributor by their...

Benjamin Renard authored 10 years ago

517)     onsuccess=function(data) {
518)       console.log(data);
519)       if (data.groups) {
520)         groups.import(data.groups);
521)         groups.save();
522)         refresh_group_list();
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

523)         pleaseWaitHide();
Benjamin Renard Display home after successf...

Benjamin Renard authored 10 years ago

524)         view_home();
Benjamin Renard Manage contributor by their...

Benjamin Renard authored 10 years ago

525)         alert('Groupes synchronisés');
526)       }
527)       else {
528)         onerror(data);
529)       }
530)     }
531)     onerror=function(data) {
532)       pleaseWaitHide();
533)       console.log(data);
534)       if (jQuery.type(data['loginerror'])!='undefined') {
535)         alert(data['loginerror']);
536)       }
537)       else if (jQuery.type(data['syncerror'])!='undefined') {
538)         alert(data['syncerror']);
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

539)       }
Benjamin Renard Manage contributor by their...

Benjamin Renard authored 10 years ago

540)       else {
541)         alert('Erreur durant la synchronisation :(');
542)       }
543)     }
544)     sync_server.sync(user.server, user.email, user.password, groups.export(),onsuccess,onerror);
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

572)   $('#user-name').html('Connexion');
573)   $('#user-menu li').remove();
574)   menu=$('#user-menu');
Benjamin Renard Add subscribe feature

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

592) on_click_subscribe_btn=function() {
593)   $('#subscribe_modal').modal('show');
594) }
595) 
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

596) on_click_logoff_btn=function() {
597)   delete localStorage.user;
598)   logged_out_menu();
599) }
600) 
Benjamin Renard Add pleaseWaitDialog and fu...

Benjamin Renard authored 10 years ago

601) /*******************
602)  * pleaseWaitDialog
603)  *******************/
604) 
605) pleaseWaitShow=function() {
Benjamin Renard Fix please wait modal

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

607) }
608) 
609) pleaseWaitHide=function() {
Benjamin Renard Fix please wait modal

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

611) }
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

612) 
613) /*********************
614)  * Activate
615)  *********************/
616) $( document ).ready( function() {
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

617)   pleaseWaitShow();
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

628)   }
629)   else {
630)     alert('Local storage not supported !');
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

632)     return;
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

633)   }
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

635) 
Benjamin Renard Add link on App Name in Navbar

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

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

Benjamin Renard authored 10 years ago

643) 
644)   $('#clear_local_data').bind('click',clear_local_data);
645) 
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

648)   $('#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

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

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

Benjamin Renard authored 10 years ago

662) 
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

676)   pleaseWaitHide();