@ -68,4 +68,120 @@ $(function(){
e . preventDefault ( ) ;
} ) ;
var volunteer_ids ;
var last_index = $ ( "tr[id]" ) . length ;
if ( last_index ) {
last_index = last_index - 1 ;
$ . each ( $ ( "tr[id]" ) , function ( index ) {
if ( this . id ) {
var id = this . id ;
if ( last_index < 1 ) {
volunteer_ids = "contacts.contact_id=" + id ;
}
else if ( ! volunteer_ids ) {
volunteer_ids = "(contacts.contact_id=" + id + " OR " ;
} else if ( index === last_index ) {
volunteer_ids += "contacts.contact_id=" + id + ")" ;
} else {
volunteer_ids += "contacts.contact_id=" + id + " OR " ;
}
}
} ) ;
}
var d = new Date ( ) ;
volunteer_status ( volunteer_ids ) ;
// volunteer status
// Essentially, the same function (but with modifications) as in shop.js and transaction.js
function volunteer_status ( contacts ) {
var all_members_obj ; //reuse this object
var year = d . getFullYear ( ) ;
if ( contacts ) {
$ . post ( "../json/transaction.php" , { volunteer_benefits : 1 , contact_id : contacts } , function ( data ) {
all_members_obj = $ . parseJSON ( data ) ;
$ . each ( all_members_obj , function ( ) {
var bikes_earned = 0 ;
var volunteer_hours_redeemed = 0 ;
var obj = this ;
var volunteer = "" , remaining = 0 , vhr = "" , max_bikes_earned = 0 ;
if ( obj . volunteer ) {
volunteer = $ . parseJSON ( obj . volunteer ) ;
if ( volunteer . hasOwnProperty ( year ) ) {
remaining = obj . current_year_volunteer_hours - volunteer [ year ] . volunteer_hours_redeemed ;
vhr = volunteer [ year ] . volunteer_hours_redeemed ;
max_bikes_earned = volunteer [ year ] . max_bike_earned ;
}
} else {
vhr = 0 ;
}
var title = obj . normal_full_name + "\r\n" +
"Volunteer Hours for last 365 days: " + obj . volunteer_hours + "\r\n" +
"Volunteer Hours \(" + year + "\): " + obj . current_year_volunteer_hours + "\r\n" +
"Volunteer Hours Redeemed: " + vhr + "\r\n" +
"Volunteer Hours Remaining: " + remaining + "\r\n" +
"Max Bikes Earned: " + max_bikes_earned ;
var volunteer_with_redeemed_hours_at_zero = obj . current_year_volunteer_hours - vhr ;
if ( obj . contact_id ) {
if ( obj . volunteer_hours && obj . volunteer_hours !== '0' ) {
if ( volunteer_with_redeemed_hours_at_zero !== 0 ) {
$ ( "#" + obj . contact_id + " td" ) . first ( ) .
css ( { textAlign : "center" , cursor : "cell" } ) .
prop ( "title" , title ) . css ( { textAlign : "center" } ) ;
} else {
$ ( "#" + obj . contact_id + " td" ) . first ( ) .
css ( { backgroundColor : "rgb(216, 198, 39)" , textAlign : "center" , cursor : "cell" } ) .
prop ( "title" , title ) . css ( { textAlign : "center" } ) ;
}
} else {
title = obj . normal_full_name + "\r\n" +
"Volunteer Hours for last 365 days: None" + "\r\n" ;
$ ( "#" + obj . contact_id + " td" ) . first ( ) .
css ( { backgroundColor : "rgb(190, 199, 204)" , textAlign : "center" , cursor : "cell" } ) .
prop ( "title" , title ) . css ( { textAlign : "center" } ) ;
}
} else {
var name = $ ( "#" + id + " td a[href*='individual']" ) . text ( ) ;
var name_obj = name . trim ( ) . split ( ", " ) ;
name = name_obj [ 1 ] + " " + name_obj [ 0 ] ;
title = name + "\r\n" +
"Volunteer Hours for last 365 days: None" + "\r\n" ;
$ ( "#" + obj . contact_id + " td" ) . first ( ) .
css ( { backgroundColor : "rgb(190, 199, 204)" , textAlign : "center" , cursor : "cell" } ) .
prop ( "title" , title ) . css ( { textAlign : "center" } ) ;
}
} ) ; // each all_members_obj
} ) ; // post volunteer benefits
} // if this is a volunteer
} // function volunteer_status
} ) ;