ad5ed6fd1e18f71e01745ce4b06b42862ccd8231
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 Add uuid to group and refer...

Benjamin Renard authored 10 years ago

105)         tbody.html(tbody.html()+'<tr><td><a class="group-link">'+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) {
109)       g=$(e.target).html();
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);
160)   if (contributions.length==0) {
161)     tbody.append('<tr><td colspan=3>Aucune contributions</td></tr>');
162)     total.html('0,00 €');
163)   }
164)   else {
165)     sum=0;
Benjamin Renard Use UUID as Contribution id...

Benjamin Renard authored 10 years ago

166)     for (uuid in contributions) {
167)       col_actions='<td><div class="btn-group" data-uuid="'+contributions[uuid].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>';
168)       tbody.append('<tr><td>'+contributions[uuid].getTitle()+'</td><td>'+contributions[uuid].cost+' €</td>'+col_actions+'</tr>');
169)       sum+=contributions[uuid].cost;
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

170)     }
171)     total.html(sum+' €');
172)   }
Benjamin Renard Clean code

Benjamin Renard authored 10 years ago

173)   
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

181) on_click_add_contributor_btn=function() {
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

309)   
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

378)   navbar_collapse_hide();
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

379)   myconfirm('Etes-vous sûre de vouloir supprimer les données locales ?',on_confirm_clear_local_data);
380) }
381) 
382) on_confirm_clear_local_data=function(data) {
383)   localStorage.clear();
384)   location.reload();
385) }
386) 
387) /*********************
388)  * View balance
389)  *********************/
390) 
391) on_display_balance_btn_click=function(e) {
Benjamin Renard Add uuid to group and refer...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

408)   }
Benjamin Renard Improve balance display

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

557) }
558) 
559) pleaseWaitHide=function() {
Benjamin Renard Fix please wait modal

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

561) }
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

567)   pleaseWaitShow();
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

582)     return;
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

583)   }
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

585) 
Benjamin Renard Add link on App Name in Navbar

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

600)   $('#view-group #contributor').bind('change',on_contributor_change);
601) 
602)   $('#add_contributor_btn').bind('click',on_click_add_contributor_btn);
603)   $('#add_contributor_submit').bind('click',on_valid_add_contributor_modal);
604)   $("#add_contributor_modal").on('shown.bs.modal',on_show_add_contributor_modal);
605)   $("#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

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

Benjamin Renard authored 10 years ago

607) 
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

621)   pleaseWaitHide();