Merge lp:~zubairassad89/sahana-eden/vms into lp:~sahana-eden-vms/sahana-eden/vms

Proposed by zubair assad on 2010-06-16
Status: Merged
Approved by: zubair assad on 2010-06-17
Approved revision: 770
Merged at revision: 770
Proposed branch: lp:~zubairassad89/sahana-eden/vms
Merge into: lp:~sahana-eden-vms/sahana-eden/vms
Diff against target: 512 lines (+398/-42)
6 files modified
controllers/vol.py (+10/-3)
models/vol.py (+132/-0)
views/vol/index.html (+1/-0)
views/vol/person_skill_list_create.html (+21/-0)
views/vol/person_skills_list_create.html (+0/-39)
views/vol/skill.js (+234/-0)
To merge this branch: bzr merge lp:~zubairassad89/sahana-eden/vms
Reviewer Review Type Date Requested Status
zubair assad Approve on 2010-06-17
Pat Tressel 2010-06-16 Approve on 2010-06-17
Review via email: mp+27697@code.launchpad.net

Commit Message

Merge assad-dev-vms

Description of the Change

Merge assad-dev-vms

To post a comment you must log in.
Pat Tressel (ptressel) wrote :

Eventually the skillcust table will have all the types of skills in it, even if the site starts out using a pre-defined set. So maybe we shouldn't call it skillcust. Would be nice if we could use something generic. Maybe skill_types?

I recall you wanted to start out with just one level of category (easier to get something working, and maybe users don't want more than that). So how about taking out the subcategory?

review: Needs Fixing
zubair assad (zubairassad89) wrote :

Nice idea, with all skills converging into a single table.
Ok, i will take out the subcategory and change the name of skillcust to skill_type.

> Eventually the skillcust table will have all the types of skills in it, even
> if the site starts out using a pre-defined set. So maybe we shouldn't call it
> skillcust. Would be nice if we could use something generic. Maybe
> skill_types?
>
> I recall you wanted to start out with just one level of category (easier to
> get something working, and maybe users don't want more than that). So how
> about taking out the subcategory?

review: Approve
Pat Tressel (ptressel) wrote :

I still see "skillcust" in a comment and in the name of an html file.

How about putting in CRUD strings for skill_types?

I wonder if you need a custom form if you have CRUD strings -- see what happens if you don't have an html page.

You'll need something like Add Skill Types in the top level menu, and take it out of the person menu -- it doesn't go with a specific person.

zubair assad (zubairassad89) wrote :

Sorry about that skillcust!
put the CRUD for skill_types
add skill types put in top menu

> I still see "skillcust" in a comment and in the name of an html file.
>
> How about putting in CRUD strings for skill_types?
>
> I wonder if you need a custom form if you have CRUD strings -- see what
> happens if you don't have an html page.
>
> You'll need something like Add Skill Types in the top level menu, and take it
> out of the person menu -- it doesn't go with a specific person.

review: Approve
Pat Tressel (ptressel) wrote :

Want to take out that alert foo from skill.js? Also there are some code lines commented out -- those can go away.

The skill_types table looks like it has some debug stuff -- the name and category fields are commented out, and there's an extra comment1 field (or do you want a "description" field in there)? The subcategory field is still there but commented out -- it can go away.

Some formatting cleanup needed:

Extra blank lines in menu, before the ) in add_component, in between code blocks (ok to have 2 blank lines between major sections, like different tables), in skill.js.

Line num_column=3 in models/vol.py looks like it's got a newline in front of it.

When you post a reply comment, set the "Review" to comment only. ;-)

review: Needs Fixing
Pat Tressel (ptressel) wrote :

At about line 149 in the current diff, the indent for the name Field isn't same as the other Field lines. Also put the args for that first Field on the same line.

How about using just category rather than skill_category? Or use skill_name instead of name -- just looks odd to have one say skill and the other not.

Search for SK -- some of the CRUD strings have uppercase K.

What about using a list_create form for skill types? There isn't a way to see a list right now. You can get this by just taking away the skill_types_list_create.html file. Try that and see what you think.

How about using just "Skill Types" on the main menu, to go along with using the list_create form (since it's not just adding)?

lp:~zubairassad89/sahana-eden/vms updated on 2010-06-17
770. By zubair assad on 2010-06-17

Addition of Skill Type and Formatting of VMS files

Pat Tressel (ptressel) wrote :

Looks good!

review: Approve
zubair assad (zubairassad89) wrote :

Commit Approved. Ready to merge.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'controllers/vol.py'
2--- controllers/vol.py 2010-06-14 23:12:57 +0000
3+++ controllers/vol.py 2010-06-17 14:33:30 +0000
4@@ -1,7 +1,7 @@
5 # -*- coding: utf-8 -*-
6
7 """
8- Volunteer Management Module
9+ Volunteer Management System
10 """
11
12 module = "vol"
13@@ -10,6 +10,7 @@
14 session.error = T("Module disabled!")
15 redirect(URL(r=request, c="default", f="index"))
16
17+
18 # Options Menu (available in all Functions)
19 def shn_menu():
20 menu = [
21@@ -43,19 +44,22 @@
22 [T('Address'), False, URL(r=request, f='person', args='address')],
23 [T('Contact'), False, URL(r=request, f='person', args='pe_contact')],
24 [T('Identity'), False, URL(r=request, f='person', args='identity')],
25+ [T('Skill'), False, URL(r=request, f='person', args='skill')],
26 ]]
27 ]
28 menu.extend(menu_person)
29+
30+
31 if auth.user is not None:
32 menu_user = [
33- [T('My Tasks'), False, URL(r=request, f='task', args='')]
34+ [T('My Tasks'), False, URL(r=request, f='task', args='')],
35+ [T('Skill Type'), False, URL(r=request, f='skill_types')],
36 ]
37 menu.extend(menu_user)
38 response.menu_options = menu
39
40 shn_menu()
41
42-
43 def index():
44
45 """ Module's Home Page """
46@@ -130,3 +134,6 @@
47 response.s3.pagination = True
48
49 return shn_rest_controller(module, 'task', listadd=False)
50+
51+def skill_types():
52+ return shn_rest_controller(module, 'skill_types')
53
54=== modified file 'models/vol.py'
55--- models/vol.py 2010-06-14 23:12:57 +0000
56+++ models/vol.py 2010-06-17 14:33:30 +0000
57@@ -638,3 +638,135 @@
58 return rheader
59
60 return None
61+
62+
63+ # -----------------------------------------------------------------------------
64+ # vol_skill
65+ # Selecting a Skill
66+ #
67+
68+ resource = 'skill'
69+ tablename = module + '_' + resource
70+ table = db.define_table(tablename, timestamp, uuidstamp, deletion_status,
71+ person_id,
72+ Field('General_Skill', 'boolean'),
73+ Field('Animals', 'boolean'),
74+ Field('Animal_Control_Vehicles', 'boolean'),
75+ Field('Animal_Handling', 'boolean'),
76+ Field('Other', 'boolean'),
77+ Field('Automotives', 'boolean'),
78+ Field('Body_Repair', 'boolean'),
79+ Field('Engine_Repair', 'boolean'),
80+ Field('Tire_Repair', 'boolean'),
81+ Field('Electrical', 'boolean'),
82+ Field('External_Wiring', 'boolean'),
83+ Field('Internal_Wiring', 'boolean'),
84+ Field('Resources', 'boolean'),
85+ Field('Building_Aide', 'boolean'),
86+ Field('Own_BackHoe', 'boolean'),
87+ Field('Own_Crane', 'boolean'),
88+ Field('Vehicle', 'boolean'),
89+ Field('Own_Aircraft', 'boolean'),
90+ Field('Own_Boat', 'boolean'),
91+ Field('Warehouse', 'boolean'),
92+ Field('ForkLift', 'boolean'),
93+ Field('General', 'boolean'),
94+ Field('Restrictions', 'boolean'),
95+ Field('Can_not_Drive', 'boolean'),
96+ Field('Can_not_Swim', 'boolean'),
97+ Field('No_Heavy_Lifting', 'boolean'),
98+ Field('Site_Manager', 'boolean'),
99+ Field('Unskilled', 'boolean'),
100+ Field('Skill_Other', 'boolean'),
101+ Field('Baby_Care_Help', 'boolean'),
102+ Field('Clerical', 'boolean'),
103+ Field('Food_Help', 'boolean'),
104+ Field('With_Tools', 'boolean'),
105+ Field('With_Brooms', 'boolean'),
106+ Field('With_Carpentry_Tools', 'boolean'),
107+ Field('With_Other_Tools', 'boolean'),
108+ Field('status',requires=IS_IN_SET(['approved','unapproved','denied']),label=T('status'), notnull=True, default='unapproved'),
109+ migrate=migrate)
110+
111+
112+ # CRUD Strings
113+ ADD_SKILL = T('Add Skill')
114+ SKILL = T('Skill')
115+ s3.crud_strings[tablename] = Storage(
116+ title_create = ADD_SKILL,
117+ title_display = T('Skill Details'),
118+ title_list = SKILL,
119+ title_update = T('Edit Skill'),
120+ title_search = T('Search Skill'),
121+ subtitle_create = T('Add New Skill'),
122+ subtitle_list = SKILL,
123+ label_list_button = T('List Skill'),
124+ label_create_button = ADD_SKILL,
125+ msg_record_created = T('Skill added'),
126+ msg_record_modified = T('Skill updated'),
127+ msg_record_deleted = T('Skill deleted'),
128+ msg_list_empty = T('No skills currently set'))
129+
130+
131+ s3xrc.model.add_component(module, resource,
132+ multiple=True,
133+ joinby=dict(pr_person='person_id'),
134+ deletable=True,
135+ editable=True,
136+ main='person_id',
137+
138+ )
139+
140+
141+ # -----------------------------------------------------------------------------
142+ # vol_skill_types
143+ # Customize to add more client defined Skill
144+ #
145+
146+ resource = 'skill_types'
147+ tablename = module + '_' + resource
148+ table = db.define_table(tablename, timestamp, uuidstamp, deletion_status,
149+ Field('name', length=128, notnull=True),
150+ Field('category', 'string', length=50),
151+ Field('description'),
152+ migrate=migrate)
153+
154+# Field settings
155+table.uuid.requires = IS_NOT_IN_DB(db, '%s.uuid' % tablename)
156+table.name.requires = [IS_NOT_EMPTY(), IS_NOT_IN_DB(db, '%s.name' % tablename)]
157+table.name.label = T('Name')
158+table.name.comment = SPAN("*", _class="req")
159+
160+# CRUD strings
161+s3.crud_strings[tablename] = Storage(
162+ title_create = T('Add Skill Type'),
163+ title_display = T('Skill Type Details'),
164+ title_list = T('Skill Type'),
165+ title_update = T('Edit Skill Type'),
166+ title_search = T('Search Skill Type'),
167+ subtitle_create = T('Add New Skill Type'),
168+ subtitle_list = T('Skill Type'),
169+ label_list_button = T('List Skill Types'),
170+ label_create_button = T('Add Skill Types'),
171+ label_delete_button = T('Delete Skill Type'),
172+ msg_record_created = T('Skill Type added'),
173+ msg_record_modified = T('Skill Type updated'),
174+ msg_record_deleted = T('Skill Type deleted'),
175+ msg_list_empty = T('No Skill Types currently set'))
176+
177+field_settings = S3CheckboxesWidget(db = db,
178+ lookup_table_name = "vol_skill_types",
179+ lookup_field_name = "name",
180+ multiple = True,
181+ num_column=3
182+ )
183+
184+# Reusable field
185+skill_ids = SQLTable(None, 'skill_ids',
186+ FieldS3( 'skill_ids',
187+ requires = field_settings.requires,
188+ widget = field_settings.widget,
189+ represent = field_settings.represent,
190+ label = T("skills"),
191+ ondelete = "RESTRICT"
192+ ))
193
194=== modified file 'views/vol/index.html'
195--- views/vol/index.html 2010-02-14 01:51:37 +0000
196+++ views/vol/index.html 2010-06-17 14:33:30 +0000
197@@ -8,5 +8,6 @@
198 <ul>
199 <li>{{=T("Registering ad-hoc volunteers willing to contribute")}}</li>
200 <li>{{=T("Capturing the essential services each Volunteer is providing and where")}}</li>
201+<li>{{=T("Choosing Skill and Resources of Volunteers")}}</li>
202 </ul>
203 </div>
204
205=== added file 'views/vol/person_skill_list_create.html'
206--- views/vol/person_skill_list_create.html 1970-01-01 00:00:00 +0000
207+++ views/vol/person_skill_list_create.html 2010-06-17 14:33:30 +0000
208@@ -0,0 +1,21 @@
209+{{extend 'layout.html'}}
210+{{ include 'vol/skill.js' }}
211+{{try:}}
212+ {{=H2(addtitle)}}
213+{{except:}}
214+{{pass}}
215+<div id='rheader'>
216+{{try:}}
217+ {{=rheader}}
218+{{except:}}
219+ {{pass}}
220+</div>
221+{{pass}}
222+{{include 'formats.html'}}
223+<div class='form-container'>
224+{{try:}}
225+ {{=form}}
226+{{except:}}
227+{{pass}}
228+</div>
229+{{include 'pagenav.html'}}
230
231=== removed file 'views/vol/person_skills_list_create.html'
232--- views/vol/person_skills_list_create.html 2010-06-15 12:39:36 +0000
233+++ views/vol/person_skills_list_create.html 1970-01-01 00:00:00 +0000
234@@ -1,39 +0,0 @@
235-{{extend 'layout.html'}}
236-{{try:}}
237- {{=H2(title)}}
238-{{except:}}
239-{{pass}}
240-<div id='rheader'>
241-{{try:}}
242- {{=rheader}}
243-{{except:}}
244- {{pass}}
245-</div>
246-{{try:}}
247- {{=H3(subtitle)}}
248-{{except:}}
249-{{pass}}
250-{{include 'formats.html'}}
251-<div id='table-container'>
252-{{try:}}
253- {{=items}}
254- <p>&nbsp;</p>
255-{{except:}}
256-{{pass}}
257-</div>
258-{{try:}}
259- {{=H3(addtitle)}}
260-{{except:}}
261-{{pass}}
262-<div class='form-container'>
263-{{try:}}
264- {{=form}}
265-{{except:}}
266-{{pass}}
267-</div>
268-{{include 'key.html'}}
269-{{include 'pagenav.html'}}
270-{{include 'searchbox.html'}}
271-<p>&nbsp;</p>
272-{{include 'colorbox.html'}}
273-{{include 'dataTables.html'}}
274
275=== added file 'views/vol/skill.js'
276--- views/vol/skill.js 1970-01-01 00:00:00 +0000
277+++ views/vol/skill.js 2010-06-17 14:33:30 +0000
278@@ -0,0 +1,234 @@
279+<head>
280+ <script type="text/javascript">
281+ //<![CDATA[
282+ $(document).ready(function() {
283+ $("#vol_skill_Animals__row").hide();
284+ $("#vol_skill_Animal_Control_Vehicles__row").hide();
285+ $("#vol_skill_Animal_Handling__row").hide();
286+ $("#vol_skill_Other__row").hide();
287+ $("#vol_skill_Automotives__row").hide();
288+ $("#vol_skill_Body_Repair__row").hide();
289+ $("#vol_skill_Engine_Repair__row").hide();
290+ $("#vol_skill_Tire_Repair__row").hide();
291+ $("#vol_skill_Electrical__row").hide();
292+ $("#vol_skill_External_Wiring__row").hide();
293+ $("#vol_skill_Internal_Wiring__row").hide();
294+
295+ $("#vol_skill_Building_Aide__row").hide();
296+ $("#vol_skill_Own_BackHoe__row").hide();
297+ $("#vol_skill_Own_Crane__row").hide();
298+ $("#vol_skill_Vehicle__row").hide();
299+ $("#vol_skill_Own_Aircraft__row").hide();
300+ $("#vol_skill_Own_Boat__row").hide();
301+ $("#vol_skill_Warehouse__row").hide();
302+ $("#vol_skill_ForkLift__row").hide();
303+ $("#vol_skill_General__row").hide();
304+
305+ $("#vol_skill_Can_not_Drive__row").hide();
306+ $("#vol_skill_Can_not_Swim__row").hide();
307+ $("#vol_skill_No_Heavy_Lifting__row").hide();
308+
309+ $("#vol_skill_Skill_Other__row").hide();
310+ $("#vol_skill_Baby_Care_Help__row").hide();
311+ $("#vol_skill_Clerical__row").hide();
312+ $("#vol_skill_Food_Help__row").hide();
313+ $("#vol_skill_With_Tools__row").hide();
314+ $("#vol_skill_With_Brooms__row").hide();
315+ $("#vol_skill_With_Carpentry_Tools__row").hide();
316+ $("#vol_skill_With_Other_Tools__row").hide();
317+
318+ //General skill
319+ $('#vol_skill_General_Skill').css({
320+ 'margin-left': '50px'
321+ }).change(function() {
322+ if ($('#vol_skill_General_Skill').attr('checked')) {
323+ $("#vol_skill_Animals__row").show();
324+ $('#vol_skill_Animals').css({
325+ 'margin-left': '50px'
326+ }).change(function() {
327+ if ($('#vol_skill_Animals').attr('checked')) {
328+ $("#vol_skill_Animal_Control_Vehicles__row").show();
329+ $("#vol_skill_Animal_Handling__row").show();
330+ $("#vol_skill_Other__row").show();
331+ } else {
332+ $("#vol_skill_Animal_Control_Vehicles__row").hide();
333+ $("#vol_skill_Animal_Handling__row").hide();
334+ $("#vol_skill_Other__row").hide();
335+ $("#vol_skill_Animal_Control_Vehicles").removeAttr('checked');
336+ $("#vol_skill_Animal_Handling").removeAttr('checked');
337+ $("#vol_skill_Other").removeAttr('checked');
338+ }
339+ });
340+ $("#vol_skill_Automotives__row").show();
341+ $('#vol_skill_Automotives').css({
342+ 'margin-left': '50px'
343+ }).change(function() {
344+ if ($('#vol_skill_Automotives').attr('checked')) {
345+ $("#vol_skill_Body_Repair__row").show();
346+ $("#vol_skill_Engine_Repair__row").show();
347+ $("#vol_skill_Tire_Repair__row").show();
348+ } else {
349+ $("#vol_skill_Body_Repair__row").hide();
350+ $("#vol_skill_Engine_Repair__row").hide();
351+ $("#vol_skill_Tire_Repair__row").hide();
352+ $("#vol_skill_Body_Repair").removeAttr('checked');
353+ $("#vol_skill_Engine_Repair").removeAttr('checked');
354+ $("#vol_skill_Tire_Repair").removeAttr('checked');
355+ }
356+ });
357+ $("#vol_skill_Electrical__row").show();
358+ $('#vol_skill_Electrical').css({
359+ 'margin-left': '50px'
360+ }).change(function() {
361+ if ($('#vol_skill_Electrical').attr('checked')) {
362+ $("#vol_skill_External_Wiring__row").show();
363+ $("#vol_skill_Internal_Wiring__row").show();
364+ } else {
365+ $("#vol_skill_External_Wiring__row").hide();
366+ $("#vol_skill_Internal_Wiring__row").hide();
367+ $("#vol_skill_External_Wiring").removeAttr('checked');
368+ $("#vol_skill_Internal_Wiring").removeAttr('checked');
369+ }
370+ });
371+
372+ } else {
373+ $("#vol_skill_Animals__row").hide();
374+ $("#vol_skill_Automotives__row").hide();
375+ $("#vol_skill_Electrical__row").hide();
376+
377+ $("#vol_skill_Animal_Control_Vehicles__row").hide();
378+ $("#vol_skill_Animal_Handling__row").hide();
379+ $("#vol_skill_Other__row").hide();
380+
381+ $("#vol_skill_Body_Repair__row").hide();
382+ $("#vol_skill_Engine_Repair__row").hide();
383+ $("#vol_skill_Tire_Repair__row").hide();
384+
385+ $("#vol_skill_External_Wiring__row").hide();
386+ $("#vol_skill_Internal_Wiring__row").hide();
387+
388+ $("#vol_skill_Animals").removeAttr('checked');
389+ $("#vol_skill_Automotives").removeAttr('checked');
390+ $("#vol_skill_Electrical").removeAttr('checked');
391+
392+ $("#vol_skill_Animal_Control_Vehicles").removeAttr('checked');
393+ $("#vol_skill_Animal_Handling").removeAttr('checked');
394+ $("#vol_skill_Other").removeAttr('checked');
395+
396+ $("#vol_skill_Body_Repair").removeAttr('checked');
397+ $("#vol_skill_Engine_Repair").removeAttr('checked');
398+ $("#vol_skill_Tire_Repair").removeAttr('checked');
399+
400+ $("#vol_skill_External_Wiring").removeAttr('checked');
401+ $("#vol_skill_Internal_Wiring").removeAttr('checked');
402+ }
403+ });
404+
405+ //Resources Start
406+ $('#vol_skill_Resources').css({
407+ 'margin-left': '50px'
408+ }).change(function() {
409+ if ($('#vol_skill_Resources').attr('checked')) {
410+ $("#vol_skill_Building_Aide__row").show();
411+ $("#vol_skill_Vehicle__row").show();
412+ $("#vol_skill_Warehouse__row").show();
413+ } else {
414+ $("#vol_skill_Building_Aide__row").hide();
415+ $("#vol_skill_Vehicle__row").hide();
416+ $("#vol_skill_Warehouse__row").hide();
417+ $("#vol_skill_Building_Aide").removeAttr('checked');
418+ $("#vol_skill_Vehicle").removeAttr('checked');
419+ $("#vol_skill_Warehouse").removeAttr('checked');
420+ }
421+ });
422+
423+ //Restriction Start
424+ $('#vol_skill_Restrictions').css({
425+ 'margin-left': '50px'
426+ }).change(function() {
427+ if ($('#vol_skill_Restrictions').attr('checked')) {
428+ $("#vol_skill_Can_not_Drive__row").show();
429+ $("#vol_skill_Can_not_Swim__row").show();
430+ $("#vol_skill_No_Heavy_Lifting__row").show();
431+ } else {
432+ $("#vol_skill_Can_not_Drive__row").hide();
433+ $("#vol_skill_Can_not_Swim__row").hide();
434+ $("#vol_skill_No_Heavy_Lifting__row").hide();
435+ $("#vol_skill_Can_not_Drive").removeAttr('checked');
436+ $("#vol_skill_Can_not_Swim").removeAttr('checked');
437+ $("#vol_skill_No_Heavy_Lifting").removeAttr('checked');
438+ }
439+ });
440+
441+ $('#vol_skill_Site_Manager').css({
442+ 'margin-left': '50px'
443+ });
444+ //Unskilled Start
445+ $('#vol_skill_Unskilled').css({
446+ 'margin-left': '50px'
447+ }).change(function() {
448+ if ($('#vol_skill_Unskilled').attr('checked')) {
449+ $("#vol_skill_Skill_Other__row").show();
450+ $('#vol_skill_Skill_Other').css({
451+ 'margin-left': '50px'
452+ }).change(function() {
453+ if ($('#vol_skill_Skill_Other').attr('checked')) {
454+ $("#vol_skill_Baby_Care_Help__row").show();
455+ $("#vol_skill_Clerical__row").show();
456+ $("#vol_skill_Food_Help__row").show();
457+ } else {
458+ $("#vol_skill_Baby_Care_Help__row").hide();
459+ $("#vol_skill_Clerical__row").hide();
460+ $("#vol_skill_Food_Help__row").hide();
461+ $("#vol_skill_Baby_Care_Help").removeAttr('checked');
462+ $("#vol_skill_Clerical").removeAttr('checked');
463+ $("#vol_skill_Food_Help").removeAttr('checked');
464+ }
465+ });
466+ $("#vol_skill_With_Tools__row").show();
467+ $('#vol_skill_With_Tools').css({
468+ 'margin-left': '50px'
469+ }).change(function() {
470+ if ($('#vol_skill_With_Tools').attr('checked')) {
471+ $("#vol_skill_With_Brooms__row").show();
472+ $("#vol_skill_With_Carpentry_Tools__row").show();
473+ $("#vol_skill_With_Other_Tools__row").show();
474+ } else {
475+ $("#vol_skill_With_Brooms__row").hide();
476+ $("#vol_skill_With_Carpentry_Tools__row").hide();
477+ $("#vol_skill_With_Other_Tools__row").hide();
478+ $("#vol_skill_With_Brooms").removeAttr('checked');
479+ $("#vol_skill_With_Carpentry_Tools").removeAttr('checked');
480+ $("#vol_skill_With_Other_Tools").removeAttr('checked');
481+ }
482+ });
483+
484+ } else {
485+ $("#vol_skill_Skill_Other__row").hide();
486+ $("#vol_skill_With_Tools__row").hide();
487+
488+ $("#vol_skill_Baby_Care_Help__row").hide();
489+ $("#vol_skill_Clerical__row").hide();
490+ $("#vol_skill_Food_Help__row").hide();
491+
492+ $("#vol_skill_With_Brooms__row").hide();
493+ $("#vol_skill_With_Carpentry_Tools__row").hide();
494+ $("#vol_skill_With_Other_Tools__row").hide();
495+
496+ $("#vol_skill_Skill_Other").removeAttr('checked');
497+ $("#vol_skill_With_Tools").removeAttr('checked');
498+
499+ $("#vol_skill_Baby_Care_Help").removeAttr('checked');
500+ $("#vol_skill_Clerical").removeAttr('checked');
501+ $("#vol_skill_Food_Help").removeAttr('checked');
502+
503+ $("#vol_skill_With_Brooms").removeAttr('checked');
504+ $("#vol_skill_With_Carpentry_Tools").removeAttr('checked');
505+ $("#vol_skill_With_Other_Tools").removeAttr('checked');
506+
507+ }
508+ });
509+
510+ });
511+ </script>
512+</head>

Subscribers

People subscribed via source and target branches