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) }
11) else {
12) groups.each(function(idx,group) {
13) $(grouplist).prepend('<li><a class="group-choice">'+group.name+'</a></li>');
14) });
15)
16) $('a.group-choice').each(function(idx,a) {
17) $(a).bind('click',on_group_choice_click);
18) });
19) }
20) }
21)
22)
23) /****************
24) * Add group
25) ****************/
26) on_show_add_group_modal=function(e) {
27) $('#add_group_modal #add_group_name').focus();
28) }
29)
30) on_valid_add_group_modal=function () {
31) var name=$('#add_group_name')[0].value;
32) if (name=='') {
33) alert('Vous devez saisir un nom !');
34) return;
35) }
36) if (groups[name]!==undefined) {
37) alert('Ce groupe exite déjà !');
38) return;
39) }
40) groups[name]=new Group(name);
41) refresh_group_list();
42) $('#add_group_modal').modal('hide');
43) groups.save();
44) view_group(groups[name]);
45) }
46)
47) on_close_add_group_modal=function () {
|
Fix error on add_group_moda...
Benjamin Renard authored 10 years ago
|
48) $('#add_group_modal form')[0].reset();
|
Initial commit
Benjamin Renard authored 10 years ago
|
49) }
50)
51) /****************
52) * Nav bars
53) ****************/
54) on_group_choice_click=function(e) {
55) view_group(groups[$(e.target).html()]);
56) }
57)
58) /****************
59) * View group
60) ****************/
61) view_group=function(group) {
|
Replace usage of view-group...
Benjamin Renard authored 10 years ago
|
62) $('#view-group h1 span:first').html(group.name);
63) $('#view-group #group_name')[0].value=group.name;
|
Initial commit
Benjamin Renard authored 10 years ago
|
64) set_contributors(group);
65) on_contributor_change();
66) $('#view-group').css('display','block');
67) }
68)
69) set_contributors=function(group) {
70) $('#view-group #contributor option').remove();
71) if(group.contributors.length==0) {
72) $('#view-group #contributor').append('<option>Aucun participant</option>');
73) }
74) else {
75) $(group.contributors).each(function(idx,c) {
76) $('#view-group #contributor').append('<option value="'+c.name+'">'+c.name+'</option>');
77) });
78) }
79) }
80)
81) on_contributor_change=function(e) {
|
Replace usage of view-group...
Benjamin Renard authored 10 years ago
|
82) show_contributions(groups[$('#view-group #group_name')[0].value],$('#view-group #contributor')[0].value);
|
Initial commit
Benjamin Renard authored 10 years ago
|
83) }
84)
85) show_contributions=function(group,contributor_name) {
86) var tbody=$($('#view-group #contributions tbody')[0]);
87) tbody.html('');
88) total=$($('#view-group #total-value')[0]);
89) contributions=group.contributionsByContributorName(contributor_name);
90) if (contributions.length==0) {
91) tbody.append('<tr><td colspan=3>Aucune contributions</td></tr>');
92) total.html('0,00 €');
93) }
94) else {
95) sum=0;
96) for (idx in contributions) {
97) 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>';
98) tbody.append('<tr><td>'+contributions[idx].getTitle()+'</td><td>'+contributions[idx].cost+' €</td>'+col_actions+'</tr>');
99) sum+=contributions[idx].cost;
100) }
101) total.html(sum+' €');
102) }
103)
104) $('.contribution_delete_btn').bind('click',on_contribution_delete_btn_click);
105) $('.contribution_edit_btn').bind('click',on_contribution_edit_btn_click);
106) }
107)
108) /*********************
109) * Add contributor
110) *********************/
111) on_click_add_contributor_btn=function() {
|
Replace usage of view-group...
Benjamin Renard authored 10 years ago
|
112) $('#add_contributor_modal #group_name')[0].value=$('#view-group #group_name')[0].value;
|
Initial commit
Benjamin Renard authored 10 years ago
|
113) $('#add_contributor_modal').modal('show');
114) }
115)
116) on_show_add_contributor_modal=function(e) {
117) $('#add_contributor_modal #add_contributor_name').focus();
118) }
119)
120) on_valid_add_contributor_modal=function() {
121) var group=groups[$('#add_contributor_modal #group_name')[0].value];
122) var name=$('#add_contributor_name')[0].value;
123) if (name=='') {
124) alert('Vous devez saisir un nom !');
125) return;
126) }
127) if (group.contributorByName(name)!=undefined) {
128) alert('Un contributor porte déjà ce nom !');
129) return;
130) }
131) var email=$('#add_contributor_email')[0].value;
132) if (email=='') {
133) alert('Vous devez saisir un email !');
134) return;
135) }
136) if (group.contributorByEmail(email)!=undefined) {
137) alert('Un contributor utilise déjà cet email !');
138) return;
139) }
140) group.contributors.push(new Contributor(name,email));
141) set_contributors(group);
142) $('#add_contributor_modal').modal('hide');
143) $('#add_contributor_name')[0].value='';
144) $('#add_contributor_email')[0].value='';
145) groups.save();
146)
147) }
148)
149) on_close_add_contributor_modal=function () {
150) $('#add_contributor_name')[0].value='';
151) $('#add_contributor_email')[0].value='';
152) }
153)
154) on_click_del_contributor_btn=function() {
155) contributor=$('#view-group #contributor')[0].value;
156) question='Voulez-vous vraiment supprimer '+contributor+' ?';
157) myconfirm(question,on_confirm_del_contributor,null,contributor);
158) }
159)
160) on_confirm_del_contributor=function(contributor) {
|
Replace usage of view-group...
Benjamin Renard authored 10 years ago
|
161) var group=groups[$('#view-group #group_name')[0].value];
|
Initial commit
Benjamin Renard authored 10 years ago
|
162) group.removeContributor(contributor);
163) set_contributors(group);
164) groups.save();
165) }
166)
167) /********************************
168) * Add/edit/delete contribution
169) ********************************/
170) on_show_add_contribution_modal=function(e) {
171) var cs=$($('#add_contribution_modal #add_contribution_contributor_name')[0]);
172) cs.html('');
173) $('#view-group #contributor option').each(function(idx,option) {
174) cs.append($(option).clone());
175) });
176) cs[0].value = $('#view-group #contributor')[0].value;
177) $('#add_contribution_modal #add_contribution_title').focus();
178) }
179)
180) on_click_add_contribution_btn=function() {
|
Replace usage of view-group...
Benjamin Renard authored 10 years ago
|
181) $('#add_contribution_modal #group_name')[0].value=$('#view-group #group_name')[0].value;
|
Initial commit
Benjamin Renard authored 10 years ago
|
182) $('#add_contribution_modal #edit_id')[0].value='-1';
183) $('#add_contribution_modal').modal('show');
184) }
185)
186) on_valid_add_contribution_modal=function(e) {
187) e.preventDefault();
188) var group=groups[$('#add_contribution_modal #group_name')[0].value];
189) var contributor_name=$('#add_contribution_contributor_name')[0].value;
190) var contributor=group.contributorByName(contributor_name);
191) if (contributor==undefined) {
192) alert('Participant inconu !');
193) return;
194) }
195) var title=$('#add_contribution_title')[0].value;
196) if (title=='') {
197) $('#add_contribution_title')[0].focus();
198) alert('Vous devez saisir un titre !');
199) return;
200) }
201) var cost=$('#add_contribution_cost')[0].value;
202) if (cost=='') {
203) $('#add_contribution_cost')[0].focus();
204) alert('Vous devez saisir un coût !');
205) return;
206) }
|
Add support of dot and comm...
Benjamin Renard authored 10 years ago
|
207) else if(!RegExp('^[0-9]*((,|\.)[0-9]{1,2})*$').test(cost)) {
|
Initial commit
Benjamin Renard authored 10 years ago
|
208) $('#add_contribution_cost')[0].focus();
209) alert('Coût incorrect !');
210) return;
211) }
212) cost=parseFloat(cost.replace(',','.'));
213)
214) var date=$('#add_contribution_date')[0].value;
215) if (date!='') {
216) if(!RegExp('^[0-3][0-9]\/[0-1][0-9]\/[0-2][0-9][0-9][0-9]$').test(date)) {
217) $('#add_contribution_date')[0].focus();
218) alert('Date incorrect !');
219) return;
220) }
221) date=moment(date,'DD-MM-YYYY').toDate();
222) if (jQuery.type(date)!='date') {
223) alert('Date non-reconnu !');
224) return;
225) }
226) }
227) else {
228) date=new Date();
229) }
230)
231) if($('#add_contribution_modal #edit_id')[0].value=='-1') {
232) group.addContribution(new Contribution(contributor,cost,title,date));
233) }
234) else {
235) contribution_id=$('#add_contribution_modal #edit_id')[0].value;
236) group.replaceContribution(contribution_id,new Contribution(contributor,cost,title,date));
237) }
238) show_contributions(group,contributor_name);
239) $('#add_contribution_modal').modal('hide');
240) $('#add_contribution_modal form')[0].reset();
241) groups.save();
242) }
243)
244) on_close_add_contribution_modal=function () {
245) $('#add_contribution_modal form')[0].reset();
246) }
247)
248) on_contribution_delete_btn_click=function(e) {
|
Replace usage of view-group...
Benjamin Renard authored 10 years ago
|
249) var group=groups[$('#view-group #group_name')[0].value];
|
Initial commit
Benjamin Renard authored 10 years ago
|
250) contribution_id=$($(e.target).parents('div')[0]).data('id');
251) contribution=group.contributions[contribution_id];
252) 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} );
253) }
254)
255) on_confirm_contribution_delete=function(data) {
256) delete data.group.contributions[data.contribution_id];
257) groups.save();
258) on_contributor_change();
259) }
260)
261) on_contribution_edit_btn_click=function(e) {
|
Replace usage of view-group...
Benjamin Renard authored 10 years ago
|
262) var group=groups[$('#view-group #group_name')[0].value];
263) $('#add_contribution_modal #group_name')[0].value=$('#view-group #group_name')[0].value;
|
Initial commit
Benjamin Renard authored 10 years ago
|
264) contribution_id=$($(e.target).parents('div')[0]).data('id');
265) contribution=group.contributions[contribution_id];
266) $('#add_contribution_modal #add_contribution_contributor_name')[0].value=contribution.contributor.name;
267) console.log($('#add_contribution_modal #add_contribution_contributor_name')[0]);
268) console.log(contribution.contributor.name);
269) $('#add_contribution_modal #add_contribution_title')[0].value=contribution.getTitle();
270) $('#add_contribution_modal #add_contribution_cost')[0].value=contribution.cost;
271) $('#add_contribution_modal #add_contribution_date')[0].value=moment(contribution.date).format('DD/MM/YYYY');
272) $('#add_contribution_modal #edit_id')[0].value=contribution_id;
273) $('#add_contribution_modal').modal('show');
274) }
275)
276)
277)
278) /********************
279) * Clear local data
280) ********************/
281) clear_local_data=function() {
282) myconfirm('Etes-vous sûre de vouloir supprimer les données locales ?',on_confirm_clear_local_data);
283) }
284)
285) on_confirm_clear_local_data=function(data) {
286) localStorage.clear();
287) location.reload();
288) }
289)
290) /*********************
291) * View balance
292) *********************/
293)
294) on_display_balance_btn_click=function(e) {
|
Replace usage of view-group...
Benjamin Renard authored 10 years ago
|
295) group=groups[$('#view-group #group_name')[0].value];
|
Initial commit
Benjamin Renard authored 10 years ago
|
296) display_balance(group);
297) }
298)
299) display_balance=function(group) {
300) bal=group.balance();
301) tbody=$($('#display_balance_modal tbody')[0]);
302) tbody.html('');
303) sum=0;
304) for (c in bal) {
305) tbody.append('<tr><td>'+c+'</td><td>'+bal[c]+' €</td></tr>');
306) sum+=bal[c];
307) }
308) $('#display_balance_modal #total-value').html(sum+' €');
309) $('#display_balance_modal').modal('show');
310) }
311)
312) /*********************
313) * Remove group
314) *********************/
315)
316) on_remove_group_btn_click=function(e) {
|
Replace usage of view-group...
Benjamin Renard authored 10 years ago
|
317) group=groups[$('#view-group #group_name')[0].value];
|