Add member info profile setting.
[org.fsf.memberdashboard.git] / assets / js / member-info.js
1 /**
2 * FSF Member Dashboard
3 * Copyright © 2014 Free Software Foundation, Inc.
4 *
5 * This file is a part of FSF Member Dashboard.
6 *
7 * FSF Member Dashboard is free software; you can copy, modify, and
8 * distribute it under the terms of the GNU Affero General Public
9 * License Version 3, 19 November 2007 and the CiviCRM Licensing
10 * Exception.
11 *
12 * FSF Member Dashboard is distributed in the hope that it will be
13 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
14 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Affero General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with FSF Member Dashboard. If not, see
19 * <http://www.gnu.org/licenses/>.
20 */
21
22 (function($) {
23 function loadProfile(gid, success) {
24 $.get('/drupal/civicrm/profile/edit', {
25 gid: gid,
26 json: 1
27 }, success);
28 }
29
30 function renderProfile(profile) {
31 function renderFields() {
32 return _.chain(profile)
33 .values()
34 .filter(function(field) {
35 return _.isString(field.label) && _.isString(field.html);
36 })
37 .map(function (field) {
38 return $('<div></div>')
39 .append(field.label)
40 .append(field.html);
41 })
42 .value();
43 }
44
45 var form = $('<form' + profile.attributes + '></form>');
46
47 form.append(profile.requirednote)
48 .append(profile.hidden)
49 .append.apply(form, renderFields());
50
51 $('#crm-main-content-wrapper').append(form);
52 }
53
54 $(document).ready(function() {
55 loadProfile(memberDashboard.profile_id, renderProfile);
56 });
57 })(jQuery);