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 () {
|
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) {
62) $('#view-group h1').html(group.name);
63) set_contributors(group);
64) on_contributor_change();
65) $('#view-group').css('display','block');
66) }
67)
68) set_contributors=function(group) {
69) $('#view-group #contributor option').remove();
70) if(group.contributors.length==0) {
71) $('#view-group #contributor').append('<option>Aucun participant</option>');
72) }
73) else {
74) $(group.contributors).each(function(idx,c) {
75) $('#view-group #contributor').append('<option value="'+c.name+'">'+c.name+'</option>');
76) });
77) }
78) }
79)
80) on_contributor_change=function(e) {
81) show_contributions(groups[$('#view-group h1').html()],$('#view-group #contributor')[0].value);
82) }
83)
84) show_contributions=function(group,contributor_name) {
85) var tbody=$($('#view-group #contributions tbody')[0]);
86) tbody.html('');
87) total=$($('#view-group #total-value')[0]);
88) contributions=group.contributionsByContributorName(contributor_name);
89) if (contributions.length==0) {
90) tbody.append('<tr><td colspan=3>Aucune contributions</td></tr>');
91) total.html('0,00 €');
92) }
93) else {
94) sum=0;
95) for (idx in contributions) {
96) 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>';
97) tbody.append('<tr><td>'+contributions[idx].getTitle()+'</td><td>'+contributions[idx].cost+' €</td>'+col_actions+'</tr>');
98) sum+=contributions[idx].cost;
99) }
100) total.html(sum+' €');
101) }
102)
103) $('.contribution_delete_btn').bind('click',on_contribution_delete_btn_click);
104) $('.contribution_edit_btn').bind('click',on_contribution_edit_btn_click);
105) }
106)
107) /*********************
108) * Add contributor
109) *********************/
110) on_click_add_contributor_btn=function() {
111) $('#add_contributor_modal #group_name')[0].value=$($('#view-group h1')[0]).html();
112) $('#add_contributor_modal').modal('show');
113) }
114)
115) on_show_add_contributor_modal=function(e) {
116) $('#add_contributor_modal #add_contributor_name').focus();
117) }
118)
119) on_valid_add_contributor_modal=function() {
120) var group=groups[$('#add_contributor_modal #group_name')[0].value];
121) var name=$('#add_contributor_name')[0].value;
122) if (name=='') {
123) alert('Vous devez saisir un nom !');
124) return;
125) }
126) if (group.contributorByName(name)!=undefined) {
127) alert('Un contributor porte déjà ce nom !');
128) return;
129) }
130) var email=$('#add_contributor_email')[0].value;
131) if (email=='') {
132) alert('Vous devez saisir un email !');
133) return;
134) }
135) if (group.contributorByEmail(email)!=undefined) {
136) alert('Un contributor utilise déjà cet email !');
137) return;
138) }
139) group.contributors.push(new Contributor(name,email));
140) set_contributors(group);
141) $('#add_contributor_modal').modal('hide');
142) $('#add_contributor_name')[0].value='';
143) $('#add_contributor_email')[0].value='';
144) groups.save();
145)
146) }
147)
148) on_close_add_contributor_modal=function () {
149) $('#add_contributor_name')[0].value='';
150) $('#add_contributor_email')[0].value='';
151) }
152)
153) on_click_del_contributor_btn=function() {
154) contributor=$('#view-group #contributor')[0].value;
155) question='Voulez-vous vraiment supprimer '+contributor+' ?';
156) myconfirm(question,on_confirm_del_contributor,null,contributor);
157) }
158)
159) on_confirm_del_contributor=function(contributor) {
160) var group=groups[$($('#view-group h1')[0]).html()];
161) group.removeContributor(contributor);
162) set_contributors(group);
163) groups.save();
164) }
165)
166) /********************************
167) * Add/edit/delete contribution
168) ********************************/
169) on_show_add_contribution_modal=function(e) {
170) var cs=$($('#add_contribution_modal #add_contribution_contributor_name')[0]);
171) cs.html('');
172) $('#view-group #contributor option').each(function(idx,option) {
173) cs.append($(option).clone());
174) });
175) cs[0].value = $('#view-group #contributor')[0].value;
176) $('#add_contribution_modal #add_contribution_title').focus();
177) }
178)
179) on_click_add_contribution_btn=function() {
180) $('#add_contribution_modal #group_name')[0].value=$($('#view-group h1')[0]).html();
181) $('#add_contribution_modal #edit_id')[0].value='-1';
182) $('#add_contribution_modal').modal('show');
183) }
184)
185) on_valid_add_contribution_modal=function(e) {
186) e.preventDefault();
187) var group=groups[$('#add_contribution_modal #group_name')[0].value];
188) var contributor_name=$('#add_contribution_contributor_name')[0].value;
189) var contributor=group.contributorByName(contributor_name);
190) if (contributor==undefined) {
191) alert('Participant inconu !');
192) return;
193) }
194) var title=$('#add_contribution_title')[0].value;
195) if (title=='') {
196) $('#add_contribution_title')[0].focus();
197) alert('Vous devez saisir un titre !');
198) return;
199) }
200) var cost=$('#add_contribution_cost')[0].value;
201) if (cost=='') {
202) $('#add_contribution_cost')[0].focus();
203) alert('Vous devez saisir un coût !');
204) return;
205) }
|