1c0c2629ae11688505c0c4e5260ca9452551146d
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) {
12)       $(grouplist).prepend('<li><a class="group-choice">'+group.name+'</a></li>');
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) 
35) on_valid_add_group_modal=function () {
36)   var name=$('#add_group_name')[0].value;
37)   if (name=='') {
38)     alert('Vous devez saisir un nom !');
39)     return;
40)   }
41)   if (groups[name]!==undefined) {
42)     alert('Ce groupe exite déjà !');
43)     return;
44)   }
45)   groups[name]=new Group(name);
46)   refresh_group_list();
47)   $('#add_group_modal').modal('hide');
48)   groups.save();
49)   view_group(groups[name]);
50) }
51) 
52) on_close_add_group_modal=function () {
Benjamin Renard Fix error on add_group_moda...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

54) }
55) 
56) /****************
57)  * Nav bars
58)  ****************/
59) on_group_choice_click=function(e) {
60)   view_group(groups[$(e.target).html()]);
Benjamin Renard Add function navbar_collaps...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

70) /****************
71)  * Parts
72)  ****************/
73) 
74) view_part=function(part) {
75)   $('.part').each(function(idx,div) {
76)     $(div).css('display','none');
77)   });
78)   $(part).css('display','block');
79) }
80) 
81) view_home=function() {
82)   if (user) {
83)     $('#view-home #title').html('Bonjour '+user.name);
84)   }
85)   else {
86)     $('#view-home #title').html('Bonjour');
87)   }
88)   if (groups.count()>0) {
89)     tbody=$('#view-home #mybalances tbody');
90)     tbody.html('');
91)     balances=groups.balances();
92)     var sum=0;
93)     for (g in balances) {
94)       if (jQuery.type(balances[g]['balance'][user.name])!='undefined') {
95)         if (balances[g]['balance'][user.name]['diff']<0) {
96)           sum+=balances[g]['balance'][user.name]['diff'];
97)           diff='<td class="negative">'+balances[g]['balance'][user.name]['diff'].toFixed(2)+'</td>';
98)         }
99)         else {
100)           value=balances[g]['balance'][user.name]['total']-balances[g]['min'];
101)           sum+=value;
102)           diff='<td class="positive">+'+value.toFixed(2)+' €</td>';
103)         }
104)         tbody.html(tbody.html()+'<tr><td>'+g+'</td>'+diff+'</tr>');
105)       }
106)     }
107)     if (sum<0) {
108)       $('#view-home #mybalances #total-value').html('<span class="negative">'+sum.toFixed(2)+' €</span>');
109)     }
110)     else {
111)       $('#view-home #mybalances #total-value').html('<span class="positive">'+(sum==0?'':'+')+sum.toFixed(2)+' €</span>');
112)     }
113)     $('#view-home #mybalances').css('display','block');
114)   }
115)   else {
116)     $('#view-home #mybalances').css('display','none');
117)   }
118)   view_part('#view-home');
119) }
120) 
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

121) /****************
122)  * View group
123)  ****************/
124) view_group=function(group) {
Benjamin Renard Replace usage of view-group...

Benjamin Renard authored 10 years ago

125)   $('#view-group h1 span:first').html(group.name);
126)   $('#view-group #group_name')[0].value=group.name;
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

127)   set_contributors(group);
128)   on_contributor_change();
Benjamin Renard Manage multiple screen part...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

130) }
131) 
132) set_contributors=function(group) {
133)   $('#view-group #contributor option').remove();
134)   if(group.contributors.length==0) {
135)     $('#view-group #contributor').append('<option>Aucun participant</option>');
136)   }
137)   else {
138)     $(group.contributors).each(function(idx,c) {
139)       $('#view-group #contributor').append('<option value="'+c.name+'">'+c.name+'</option>');
140)     });
141)   }
142) }
143) 
144) on_contributor_change=function(e) {
Benjamin Renard Replace usage of view-group...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

146) }
147) 
148) show_contributions=function(group,contributor_name) {
149)   var tbody=$($('#view-group #contributions tbody')[0]);
150)   tbody.html('');
151)   total=$($('#view-group #total-value')[0]);
152)   contributions=group.contributionsByContributorName(contributor_name);
153)   if (contributions.length==0) {
154)     tbody.append('<tr><td colspan=3>Aucune contributions</td></tr>');
155)     total.html('0,00 €');
156)   }
157)   else {
158)     sum=0;
159)     for (idx in contributions) {
160)       col_actions='<td><div class="btn-group" data-id="'+contributions[idx].id+'"><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>';
161)       tbody.append('<tr><td>'+contributions[idx].getTitle()+'</td><td>'+contributions[idx].cost+' €</td>'+col_actions+'</tr>');
162)       sum+=contributions[idx].cost;
163)     }
164)     total.html(sum+' €');
165)   }
Benjamin Renard Clean code

Benjamin Renard authored 10 years ago

166)   
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

167)   $('.contribution_delete_btn').bind('click',on_contribution_delete_btn_click);
168)   $('.contribution_edit_btn').bind('click',on_contribution_edit_btn_click);
169) }
170) 
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

171) /******************************
172)  * Add/Edit/remove contributor
173)  ******************************/
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

174) on_click_add_contributor_btn=function() {
Benjamin Renard Replace usage of view-group...

Benjamin Renard authored 10 years ago

175)   $('#add_contributor_modal #group_name')[0].value=$('#view-group #group_name')[0].value;
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

179)   $('#add_contributor_modal').modal('show');
180) }
181) 
182) on_show_add_contributor_modal=function(e) {
183)   $('#add_contributor_modal #add_contributor_name').focus();
184) }
185) 
186) on_valid_add_contributor_modal=function() {
187)   var group=groups[$('#add_contributor_modal #group_name')[0].value];
188)   var name=$('#add_contributor_name')[0].value;
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

190)   if (name=='') {
191)     alert('Vous devez saisir un nom !');
192)     return;
193)   }
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

196)     alert('Un contributor porte déjà ce nom !');
197)     return;
198)   }
199)   var email=$('#add_contributor_email')[0].value;
200)   if (email=='') {
201)     alert('Vous devez saisir un email !');
202)     return;
203)   }
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

206)     alert('Un contributor utilise déjà cet email !');
207)     return;
208)   }
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

209)   if(edit_id=='-1') {
210)     group.addContributor(new Contributor(name,email));
211)   }
212)   else {
213)     group.replaceContributor(edit_id,new Contributor(name,email));
214)   }
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

215)   set_contributors(group);
216)   $('#add_contributor_modal').modal('hide');
217)   $('#add_contributor_name')[0].value='';
218)   $('#add_contributor_email')[0].value='';
219)   groups.save();
220) }
221) 
222) on_close_add_contributor_modal=function () {
223)   $('#add_contributor_name')[0].value='';
224)   $('#add_contributor_email')[0].value='';
225) }
226) 
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

227) on_edit_contributor_btn_click=function(e) {
228)   var group=groups[$('#view-group #group_name')[0].value];
229)   $('#add_contributor_modal #group_name')[0].value=group.name;
230)   contributor_name=$('#view-group #contributor')[0].value;
231)   contributor=group.contributorByName(contributor_name);
232)   $('#view-group #edit_id')[0].value=contributor.id;
233)   $('#add_contributor_modal #add_contributor_name')[0].value=contributor.name;
234)   $('#add_contributor_modal #add_contributor_email')[0].value=contributor.email;
235)   $($('#add_contributor_modal h4')[0]).html('Editer un participant');
236)   $($('#add_contributor_modal #add_contributor_submit')[0]).html('Valider');
237)   $('#add_contributor_modal').modal('show');
238) }
239) 
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

240) on_click_del_contributor_btn=function() {
241)   contributor=$('#view-group #contributor')[0].value;
242)   question='Voulez-vous vraiment supprimer '+contributor+' ?';
243)   myconfirm(question,on_confirm_del_contributor,null,contributor);
244) }
245) 
246) on_confirm_del_contributor=function(contributor) {
Benjamin Renard Replace usage of view-group...

Benjamin Renard authored 10 years ago

247)   var group=groups[$('#view-group #group_name')[0].value];
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

248)   group.removeContributor(contributor);
249)   set_contributors(group);
250)   groups.save();
251) }
252) 
253) /********************************
254)  * Add/edit/delete contribution
255)  ********************************/
256) on_show_add_contribution_modal=function(e) {
257)   var cs=$($('#add_contribution_modal #add_contribution_contributor_name')[0]);
258)   cs.html('');
259)   $('#view-group #contributor option').each(function(idx,option) {
260)     cs.append($(option).clone());
261)   });
262)   cs[0].value = $('#view-group #contributor')[0].value;
263)   $('#add_contribution_modal #add_contribution_title').focus();
264) }
265) 
266) on_click_add_contribution_btn=function() {
Benjamin Renard Replace usage of view-group...

Benjamin Renard authored 10 years ago

267)   $('#add_contribution_modal #group_name')[0].value=$('#view-group #group_name')[0].value;
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

271)   $('#add_contribution_modal').modal('show');
272) }
273) 
274) on_valid_add_contribution_modal=function(e) {
275)   e.preventDefault();
276)   var group=groups[$('#add_contribution_modal #group_name')[0].value];
277)   var contributor_name=$('#add_contribution_contributor_name')[0].value;
278)   var contributor=group.contributorByName(contributor_name);
279)   if (contributor==undefined) {
280)     alert('Participant inconu !');
281)     return;
282)   }
283)   var title=$('#add_contribution_title')[0].value;
284)   if (title=='') {
285)     $('#add_contribution_title')[0].focus();
286)     alert('Vous devez saisir un titre !');
287)     return;
288)   }
289)   var cost=$('#add_contribution_cost')[0].value;
290)   if (cost=='') {
291)     $('#add_contribution_cost')[0].focus();
292)     alert('Vous devez saisir un coût !');
293)     return;
294)   }
Benjamin Renard Add support of dot and comm...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

301)   
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

318)   
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

319)   if($('#add_contribution_modal #edit_id')[0].value=='-1') {
320)     group.addContribution(new Contribution(contributor,cost,title,date));
321)   }
322)   else {
323)     contribution_id=$('#add_contribution_modal #edit_id')[0].value;
324)     group.replaceContribution(contribution_id,new Contribution(contributor,cost,title,date));
325)   }
326)   show_contributions(group,contributor_name);
327)   $('#add_contribution_modal').modal('hide');
328)   $('#add_contribution_modal form')[0].reset();
329)   groups.save();
330) }
331) 
332) on_close_add_contribution_modal=function () {
333)   $('#add_contribution_modal form')[0].reset();
334) }
335) 
336) on_contribution_delete_btn_click=function(e) {
Benjamin Renard Replace usage of view-group...

Benjamin Renard authored 10 years ago

337)   var group=groups[$('#view-group #group_name')[0].value];
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

338)   contribution_id=$($(e.target).parents('div')[0]).data('id');
339)   contribution=group.contributions[contribution_id];
340)   myconfirm('Etes-vous sûre de vouloir supprimer la participation '+contribution.getTitle()+' de '+contribution.contributor.name+' ?',on_confirm_contribution_delete,null,{'group':group,'contribution_id':contribution_id, 'contribution': contribution} );
341) }
342) 
343) on_confirm_contribution_delete=function(data) {
344)   delete data.group.contributions[data.contribution_id];
345)   groups.save();
346)   on_contributor_change();
347) }
348) 
349) on_contribution_edit_btn_click=function(e) {
Benjamin Renard Replace usage of view-group...

Benjamin Renard authored 10 years ago

350)   var group=groups[$('#view-group #group_name')[0].value];
351)   $('#add_contribution_modal #group_name')[0].value=$('#view-group #group_name')[0].value;
Benjamin Renard Customize add_contribution_...

Benjamin Renard authored 10 years ago

352)   $($('#add_contribution_modal h4')[0]).html('Editer une contribution');
353)   $($('#add_contribution_modal #add_contribution_submit')[0]).html('Valider');
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

354)   contribution_id=$($(e.target).parents('div')[0]).data('id');
355)   contribution=group.contributions[contribution_id];
356)   $('#add_contribution_modal #add_contribution_contributor_name')[0].value=contribution.contributor.name;
357)   $('#add_contribution_modal #add_contribution_title')[0].value=contribution.getTitle();
358)   $('#add_contribution_modal #add_contribution_cost')[0].value=contribution.cost;
359)   $('#add_contribution_modal #add_contribution_date')[0].value=moment(contribution.date).format('DD/MM/YYYY');
360)   $('#add_contribution_modal #edit_id')[0].value=contribution_id;
361)   $('#add_contribution_modal').modal('show');
362) }
363) 
364) 
365) 
366) /********************
367)  * Clear local data
368)  ********************/
369) clear_local_data=function() {
Benjamin Renard Add function navbar_collaps...

Benjamin Renard authored 10 years ago

370)   navbar_collapse_hide();
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

371)   myconfirm('Etes-vous sûre de vouloir supprimer les données locales ?',on_confirm_clear_local_data);
372) }
373) 
374) on_confirm_clear_local_data=function(data) {
375)   localStorage.clear();
376)   location.reload();
377) }
378) 
379) /*********************
380)  * View balance
381)  *********************/
382) 
383) on_display_balance_btn_click=function(e) {
Benjamin Renard Replace usage of view-group...

Benjamin Renard authored 10 years ago

384)   group=groups[$('#view-group #group_name')[0].value];
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

400)   }
Benjamin Renard Improve balance display

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

402)   $('#display_balance_modal').modal('show');
403) }
404) 
405) /*********************
406)  * Remove group
407)  *********************/
408) 
409) on_remove_group_btn_click=function(e) {
Benjamin Renard Replace usage of view-group...

Benjamin Renard authored 10 years ago

410)   group=groups[$('#view-group #group_name')[0].value];
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

411)   myconfirm('Etes-vous sûre de vouloir supprimer le group '+group.name+' ?',on_confirm_remove_group,null,group);
412) }
413) 
414) on_confirm_remove_group=function(group) {
415)   if(groups.removeGroup(group.name)) {
416)     groups.save();
417)     location.reload();
418)   }
419)   else {
420)     alert('Erreur en supprimant le groupe '+group.name+' :(');
421)   }
422) }
423) 
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

424) /********************
425)  * Login
426)  ********************/
427) on_close_login_modal=function(e) {
428)   $('#login_modal form')[0].reset();
429) }
430) 
431) sync_server=false;
432) on_valid_login_modal=function(e) {
433)   email=$('#login_modal #login_email')[0].value;
434)   pass=$('#login_modal #login_pass')[0].value;
435)   server=$('#login_modal #login_server')[0].value;
436)   $('#login_modal').modal('hide');
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

451)       if (jQuery.type(data) != 'object' && data.loginerror) {
452)         alert(data.loginerror);
453)       }
454)       else {
455)         console.log(data);
456)         alert('Erreur durant la connexion au serveur');
457)       }
458)     }
459)   );
460) }
461) 
462) 
463) 
464) /********************
465)  * Sync
466)  ********************/
467) on_click_sync_btn=function(e) {
Benjamin Renard Manage user global variable

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

470)     sync_server.sync(user.server, user.email, user.password, groups.export(),
471)       function(data) {
472)         console.log(data);
473)         if (data.groups) {
474)           groups.import(data.groups);
475)           groups.save();
476)           refresh_group_list();
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

478)           alert('Groupes synchronisés');
479)         }
480)         else {
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

482)           console.log(data);
483)           alert('Erreur durant la synchronisation :(');
484)         }
485)       },
486)       function(data) {
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

519)   $('#user-name').html('Connexion');
520)   $('#user-menu li').remove();
521)   menu=$('#user-menu');
522)   menu.html("<li><a id='login_btn'>Connexion</a></li>");
523)   $('#login_btn').bind('click',on_click_login_btn);
524) }
525) 
526) on_click_myaccount_btn=function() {
527)   $('#myaccount_modal #myaccount_email').html(user.email);
528)   $('#myaccount_modal #myaccount_name')[0].value=user.name;
Benjamin Renard Display server in myaccount...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

530)   $('#myaccount_modal').modal('show');
531) }
532) 
533) on_click_login_btn=function() {
534)   $('#login_modal').modal('show');
535) }
536) 
537) on_click_logoff_btn=function() {
538)   delete localStorage.user;
539)   logged_out_menu();
540) }
541) 
Benjamin Renard Add pleaseWaitDialog and fu...

Benjamin Renard authored 10 years ago

542) /*******************
543)  * pleaseWaitDialog
544)  *******************/
545) 
546) pleaseWaitShow=function() {
Benjamin Renard Fix please wait modal

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

548) }
549) 
550) pleaseWaitHide=function() {
Benjamin Renard Fix please wait modal

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

552) }
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

553) 
554) /*********************
555)  * Activate
556)  *********************/
557) $( document ).ready( function() {
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

558)   pleaseWaitShow();
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

559)   if(typeof(Storage)!=="undefined"){
560)     groups=new GroupList();
561)     groups.loadFromLocalStorage();
562)     refresh_group_list();
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

563)     if (jQuery.type(localStorage.user)!='undefined') {
564)       logged_menu();
565)     }
566)     else {
567)       logged_out_menu();
568)     }
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

569)   }
570)   else {
571)     alert('Local storage not supported !');
Benjamin Renard Use pleaseWaitDialog in som...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

573)     return;
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

574)   }
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

576) 
Benjamin Renard Hide navbar-groupe-collapse...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

578)   $('#add_group_submit').bind('click',on_valid_add_group_modal);
579)   $("#add_group_modal").on('shown.bs.modal',on_show_add_group_modal);
580)   $("#add_group_modal").on('hidden.bs.modal',on_close_add_group_modal);
581)   $("#add_group_modal form").on('submit',on_valid_add_group_modal);
582) 
583)   $('#clear_local_data').bind('click',clear_local_data);
584) 
Benjamin Renard Add login and sync support

Benjamin Renard authored 10 years ago

585)   $('#login_modal').on('hidden.bs.modal',on_close_login_modal);
586)   $('#login_modal #login_submit').bind('click',on_valid_login_modal);
587)   $('#login_modal form').bind('submit',on_valid_login_modal);
588) 
Benjamin Renard Initial commit

Benjamin Renard authored 10 years ago

589)   $('#view-group #contributor').bind('change',on_contributor_change);
590) 
591)   $('#add_contributor_btn').bind('click',on_click_add_contributor_btn);
592)   $('#add_contributor_submit').bind('click',on_valid_add_contributor_modal);
593)   $("#add_contributor_modal").on('shown.bs.modal',on_show_add_contributor_modal);
594)   $("#add_contributor_modal").on('hidden.bs.modal',on_close_add_contributor_modal);
595)   $("#add_contributor_modal form").on('submit',on_valid_add_contributor_modal);
596) 
Benjamin Renard Add edit contributor feature

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

598)   $('#del_contributor_btn').bind('click',on_click_del_contributor_btn);
599) 
600)   $('#add_contribution_btn').bind('click',on_click_add_contribution_btn);
601)   $('#add_contribution_submit').bind('click',on_valid_add_contribution_modal);
602)   $("#add_contribution_modal").on('shown.bs.modal',on_show_add_contribution_modal);
603)   $("#add_contribution_modal").on('hidden.bs.modal',on_close_add_contribution_modal);
604)   $("#add_contribution_modal form").on('submit',on_valid_add_contribution_modal);
605) 
606)   $("#display_balance_btn").bind('click',on_display_balance_btn_click);
607) 
608)   $('#remove_group_btn').bind('click',on_remove_group_btn_click);
Benjamin Renard Manage multiple screen part...

Benjamin Renard authored 10 years ago

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

Benjamin Renard authored 10 years ago

610)   pleaseWaitHide();