lfapi
changeset 20:ebded25d6891
Updated general params to API revision 141
author | bsw |
---|---|
date | Sat Nov 05 18:58:44 2011 +0100 (2011-11-05) |
parents | 89c860338f9b |
children | 2fcdef9f0e9c |
files | lfapi/general_params.js |
line diff
1.1 --- a/lfapi/general_params.js Sat Nov 05 12:29:19 2011 +0100 1.2 +++ b/lfapi/general_params.js Sat Nov 05 18:58:44 2011 +0100 1.3 @@ -19,9 +19,8 @@ 1.4 // TODO limit to access privileges 1.5 exports.addMemberOptions = function (req, query, params, relation) { 1.6 var table_name = 'member'; 1.7 - if (relation) { 1.8 - table_name = relation + '_member'; 1.9 - }; 1.10 + if (relation) table_name = relation + '_member'; 1.11 + 1.12 var member_id = params[relation ? relation + '_member_id' : 'member_id']; 1.13 var member_disabled = params[relation ? relation + '_member_disabled' : 'member_disabled'] ? true : false; 1.14 var member_search = params[relation ? relation + '_member_search' : 'member_search']; 1.15 @@ -31,11 +30,11 @@ 1.16 if (member_id) { 1.17 query.addWhere(['"' + table_name + '"."id" IN (??)', member_id.split(',')]); 1.18 }; 1.19 - /*if (member_disabled == true) { 1.20 + if (member_disabled == 'only') { 1.21 query.addWhere('"' + table_name + '"."active" = FALSE'); 1.22 - } else { 1.23 + } else if (member_disabled != 'include') { 1.24 query.addWhere('"' + table_name + '"."active" = TRUE OR "' + table_name + '"."active" ISNULL'); 1.25 - };*/ 1.26 + }; 1.27 if (member_search) { 1.28 query.addWhere(['"' + table_name + '"."text_search_data" @@ text_search_query(?)', member_search]); 1.29 }; 1.30 @@ -65,12 +64,12 @@ 1.31 if (params.unit_parent_id) { 1.32 query.addWhere(['"unit"."parent_id" = ?', params.unit_parent_id]); 1.33 } 1.34 - if (params.unit_without_parent) { 1.35 + if (params.unit_without_parent == '1') { 1.36 query.addWhere('"unit"."parent_id" ISNULL'); 1.37 } 1.38 - if (params.unit_disabled) { 1.39 + if (params.unit_disabled == 'only') { 1.40 query.addWhere('"unit"."active" = FALSE'); 1.41 - } else { 1.42 + } else if (params.unit_disabled != 'include') { 1.43 query.addWhere('"unit"."active" = TRUE'); 1.44 } 1.45 if (params.unit_order_by_name) { 1.46 @@ -84,9 +83,9 @@ 1.47 if (params.area_id) { 1.48 query.addWhere(['"area"."id" IN (??)', params.area_id.split(',')]); 1.49 } 1.50 - if (params.area_disabled) { 1.51 + if (params.area_disabled == 'only') { 1.52 query.addWhere('"area"."active" = FALSE'); 1.53 - } else { 1.54 + } else if (params.area_disabled == 'include') { 1.55 query.addWhere('"area"."active" = TRUE'); 1.56 } 1.57 if (req.current_access_level == 'member' && params.area_my) { 1.58 @@ -116,12 +115,20 @@ 1.59 query.addWhere(['"issue"."state" IN (??)', issue_states]); 1.60 }; 1.61 1.62 - if (params.issue_accepted) query.addWhere('"issue"."accepted" NOTNULL'); 1.63 - if (params.issue_half_frozen) query.addWhere('"issue"."half_frozen" NOTNULL'); 1.64 - if (params.issue_fully_frozen) query.addWhere('"issue"."fully_frozen" NOTNULL'); 1.65 - if (params.issue_closed) query.addWhere('"issue"."closed" NOTNULL'); 1.66 - if (params.issue_cleaned) query.addWhere('"issue"."cleaned" NOTNULL'); 1.67 - 1.68 + if (params.issue_accepted == '1') query.addWhere('"issue"."accepted" NOTNULL'); 1.69 + if (params.issue_accepted == '0') query.addWhere('"issue"."accepted" ISNULL'); 1.70 + if (params.issue_half_frozen == '1') query.addWhere('"issue"."half_frozen" NOTNULL'); 1.71 + if (params.issue_half_frozen == '0') query.addWhere('"issue"."half_frozen" ISNULL'); 1.72 + if (params.issue_fully_frozen == '1') query.addWhere('"issue"."fully_frozen" NOTNULL'); 1.73 + if (params.issue_fully_frozen == '0') query.addWhere('"issue"."fully_frozen" ISNULL'); 1.74 + if (params.issue_closed == '1') query.addWhere('"issue"."closed" NOTNULL'); 1.75 + if (params.issue_closed == '0') query.addWhere('"issue"."closed" ISNULL'); 1.76 + if (params.issue_cleaned == '1') query.addWhere('"issue"."cleaned" NOTNULL'); 1.77 + if (params.issue_cleaned == '0') query.addWhere('"issue"."cleaned" ISNULL'); 1.78 + 1.79 + if (params.issue_ranks_available == '1') query.addWhere('"issue"."ranks_available"'); 1.80 + if (params.issue_ranks_available == '0') query.addWhere('NOT "issue"."ranks_available"'); 1.81 + 1.82 if (params.issue_created_after) query.addWhere(['"issue"."created" >= ?', params.issue_created_after]); 1.83 if (params.issue_created_before) query.addWhere(['"issue"."created" < ?', params.issue_created_before]); 1.84 if (params.issue_accepted_after) query.addWhere(['"issue"."accepted" >= ?', params.issue_accepted_after]); 1.85 @@ -158,13 +165,16 @@ 1.86 //exports.addMemberOptions(query, params, 'initiator'); 1.87 //exports.addMemberOptions(query, params, 'supporter'); 1.88 1.89 - if (params.initiative_revoked) query.addWhere('initiative.revoked NOTNULL'); 1.90 + if (params.initiative_revoked == '1') query.addWhere('initiative.revoked NOTNULL'); 1.91 + if (params.initiative_revoked == '0') query.addWhere('initiative.revoked ISNULL'); 1.92 if (params.initiative_revoked_after) query.addWhere(['initiative.revoked >= ?', params.initiative_revoked_after]); 1.93 if (params.initiative_revoked_before) query.addWhere(['initiative.revoked < ?', params.initiative_revoked_before]); 1.94 + // TODO check accesslevel 1.95 if (params.initiative_revoked_by_member_id) query.addWhere(['initiative.revoked_by_member_id = ?', params.initiative_revoked_by_member_id]); 1.96 if (params.initiative_suggested_initiative_id) query.addWhere(['initiative.suggested_initiative_id = ?', params.initiative_suggested_initiative_id]); 1.97 1.98 - if (params.initiative_admitted) query.addWhere('initiative.admitted NOTNULL'); 1.99 + if (params.initiative_admitted == '1') query.addWhere('initiative.admitted NOTNULL'); 1.100 + if (params.initiative_admitted == '0') query.addWhere('initiative.admitted ISNULL'); 1.101 if (params.initiative_created_after) query.addWhere(['initiative.created >= ?', params.initiative_created_after]); 1.102 if (params.initiative_created_before) query.addWhere(['initiative.created < ?',params.initiative_created_before]); 1.103 if (params.initiative_admitted_after) query.addWhere(['initiative.admitted >= ?', params.initiative_admitted_after]); 1.104 @@ -173,15 +183,20 @@ 1.105 if (params.initiative_supporter_count_below) query.addWhere(['initiative.supporter_count < ?', params.initiative_supporter_count_below]); 1.106 if (params.initiative_supporter_count_above) query.addWhere(['initiative.supporter_count >= ?', params.initiative_supporter_count_above]); 1.107 1.108 - if (params.initiative_attainable) query.addWhere('initiative.attainable'); 1.109 - if (params.initiative_favored) query.addWhere('initiative.favored'); 1.110 - if (params.initiative_unfavored) query.addWhere('initiative.unfavored'); 1.111 + if (params.initiative_attainable == '1') query.addWhere('initiative.attainable'); 1.112 + if (params.initiative_attainable == '0') query.addWhere('NOT initiative.attainable'); 1.113 + if (params.initiative_favored == '1') query.addWhere('initiative.favored'); 1.114 + if (params.initiative_favored == '0') query.addWhere('NOT initiative.favored'); 1.115 + if (params.initiative_unfavored == '1') query.addWhere('initiative.unfavored'); 1.116 + if (params.initiative_unfavored == '0') query.addWhere('NOT initiative.unfavored'); 1.117 1.118 if (params.initiative_max_preliminary_rank) query.addWhere(['initiative.preliminary_rank <= ?', params.initiative_max_preliminary_rank]); 1.119 if (params.initiative_max_final_rank) query.addWhere(['initiative.preliminary_rank <= ?', params.initiative_max_final_rank]); 1.120 1.121 - if (params.initiative_disqualified) query.addWhere('initiative.disqualified'); 1.122 - if (params.initiative_winner) query.addWhere('initiative.winner'); 1.123 + if (params.initiative_disqualified == '1') query.addWhere('initiative.disqualified'); 1.124 + if (params.initiative_disqualified == '0') query.addWhere('NOT initiative.disqualified'); 1.125 + if (params.initiative_winner == '1') query.addWhere('initiative.winner'); 1.126 + if (params.initiative_winner == '0') query.addWhere('NOT initiative.winner'); 1.127 1.128 if (params.initiative_search) { 1.129 query.addWhere(['initiative.text_search_data @@ text_search_query(?)', params.initiative_search]);