Part A.
Clean up and add functionality to existing website and get forms to submit user data to a MySQL database and send an email with user data to a Membership Coordinator (person). Improve operation of forms. Retain session data.
Part B.
Install and Configure CiviCRM (or equivalent) to display and access data submitted by forms in Part A ??" Please quote separately.
## Deliverables
A. Complete ARESST WebSite
1. Clean up or rebuild project web pages for proper placement of buttons and NavBar to close visual gaps (mess around with [login to view URL] file).
2. All web pages have been laid out using HTMLtables. Only the content of the centerPanel, the Title and the main Heading may change from one page to another. Dojo [login to view URL]'s are used in the NavBar. This should be rationalized so a change to the raw page is propagated to all pages. [login to view URL] and [login to view URL], [login to view URL] and [login to view URL] have yet to be built
3. The [login to view URL], [login to view URL] and [login to view URL] pages each contain a Dojo [login to view URL] in the centerPanel. Each form contains a number of dijit.form.* widgets for user information input
4. Enable “Clear?? button on Join, Donate and Volunteer forms to clear the forms
5. Enable the “Close?? button on these forms to return to previous page
6. Enable the “Ok?? button on these forms to:
a. For the Join and Donate forms, pass information to PayPal for processing
On success of PayPal payment and always, in the case of Volunteer:
b. Send form data to a fixed recipient via a server email
c. Add data to a MySQL database on the server
d. Open a new page identical to others, except for a large “Thank you for your donation?? “..for volunteering?? and “..for becoming a member?? in the center panel
e. Server side programs to be written in PHP
7. Add suitable RegExp expressions to validate input into the various form fields.
8. In form submissions, concatenate “postalCode1?? and “postalCode2?? to “postalCode?? in the data submitted to the database and in the email to the membership coordinator. Suppress “postalCode1?? and “postalCode2??. These are Canadian postal codes in the form “ANA NAN?? (A: alphabetic, N: Numeric). For example: “T0E 2G9??. Also, once 3 valid characters have been entered for “postalCode1??, jump to “postalCode2?? field.
9. Currently, unititialized form CheckBox'es return empty arrays (“[]??) when the form is submitted and return “[“on??]?? when a CheckBox has been checked. The server side must decode “[]?? to mean “no?? and “[“on??]?? to mean “yes??
10. Retain UserInfo (form values) object for duration of session so user does not have to reenter data already entered once. If necessary, to generate consistent UserInfo objects pack all forms with the same fields, but hide fields that do not apply to a given form.
11. Remove diagnostic alert boxes that currently display the UserInfo object on form submission.
12. Prevent resubmission of same data to database and membership coordinator email.
13. Test project on a convenient server for correct presentation and operation on FireFox 3+ and IE7+. Once perfected, transfer project to client's [login to view URL] Linux server and verify operation again. Account name and password will be supplied by client.
B. Install and Configure CiviCRM ??" Please quote separately.
Install and Configure CiviCRM (or equivalent) on client's server to make member/donor/volunteer information readily accessible to the membership coordinator and searchable (through a browser), and make it possible for her to edit the database.