/** * Extends an membership object with some handy properties * * @param object com_meego_devprogram_provider_membership object * @return object extended com_meego_devprogram_provider_membership object */ private static function extend_membership($object = null) { $membership = new com_meego_devprogram_provider_membership($object->guid); if ($membership) { // some urls $membership->read_url = com_meego_devprogram_utils::get_url('my_membership_read', array('membership_guid' => $membership->guid)); $membership->update_url = com_meego_devprogram_utils::get_url('my_membership_update', array('membership_guid' => $membership->guid)); $membership->delete_url = com_meego_devprogram_utils::get_url('my_membership_delete', array('membership_guid' => $membership->guid)); $membership->judge_url = com_meego_devprogram_utils::get_url('membership_judge', array('membership_guid' => $membership->guid)); // submitter's username $user = com_meego_devprogram_utils::get_user_by_person_guid($membership->person); if (is_object($user)) { // name of the person requested membership $membership->submitter = $user->firstname; //. ' ' . $user->lastname; } // pretty name of the provider $provider = new com_meego_devprogram_provider($membership->provider); $membership->providertitle = $provider->title; // human readable decision state of the application $mvc = midgardmvc_core::get_instance(); switch ($membership->status) { case CMD_MEMBERSHIP_PENDING: $state = $mvc->i18n->get('label_membership_state_pending'); $css = 'pending'; break; case CMD_MEMBERSHIP_APPROVED: $state = $mvc->i18n->get('label_membership_state_approved'); $css = 'approved'; break; case CMD_MEMBERSHIP_MOREINFO: $state = $mvc->i18n->get('label_membership_state_moreinfo'); $css = 'moreinfo'; break; case CMD_MEMBERSHIP_CANCELLED: $state = $mvc->i18n->get('label_membership_state_cancelled'); $css = 'cancelled'; break; case CMD_MEMBERSHIP_DENIED: $state = $mvc->i18n->get('label_membership_state_denied'); $css = 'denied'; break; default: $state = $mvc->i18n->get('label_membership_state_pending'); $css = 'pending'; } $membership->decision = ucfirst($state); $membership->state_css = $css; // now check if the applicant has actually updated since the last decision of the provider owner $membership->has_update = false; if ($membership->status == 1 && $membership->metadata->revisor == $membership->metadata->creator) { $membership->has_update = true; } return $membership; } }
/** * Extends an application object with some handy properties * * @param object com_meego_devprogram_application object * @return object extended com_meego_devprogram_application object */ private static function extend_application($object = null) { $application = new com_meego_devprogram_application($object->guid); if ($application) { // some urls $application->read_url = com_meego_devprogram_utils::get_url('my_application_read', array('application_guid' => $application->guid)); $application->update_url = com_meego_devprogram_utils::get_url('my_application_update', array('application_guid' => $application->guid)); $application->delete_url = com_meego_devprogram_utils::get_url('my_application_delete', array('application_guid' => $application->guid)); $application->judge_url = com_meego_devprogram_utils::get_url('application_judge', array('application_guid' => $application->guid)); // submitter's username $user = com_meego_devprogram_utils::get_user_by_person_guid($application->metadata->creator); if (is_object($user)) { $application->submitter = $user->firstname; #. ' ' . $user->lastname; } // human readable decision state of the application $mvc = midgardmvc_core::get_instance(); switch ($application->status) { case CMD_APPLICATION_PENDING: $state = $mvc->i18n->get('label_application_state_pending'); $css = 'pending'; break; case CMD_APPLICATION_APPROVED: $state = $mvc->i18n->get('label_application_state_approved'); $css = 'approved'; break; case CMD_APPLICATION_MOREINFO: $state = $mvc->i18n->get('label_application_state_moreinfo'); $css = 'moreinfo'; break; case CMD_APPLICATION_CANCELLED: $state = $mvc->i18n->get('label_application_state_cancelled'); $css = 'cancelled'; break; case CMD_APPLICATION_DENIED: $state = $mvc->i18n->get('label_application_state_denied'); $css = 'denied'; break; default: $state = $mvc->i18n->get('label_application_state_pending'); $css = 'pending'; } $application->decision = ucfirst($state); $application->state_css = $css; // now check if the applicant has actually updated since the last decision of the program owner $application->has_update = false; if ($application->status == 1 && $application->metadata->revisor == $application->metadata->creator) { $application->has_update = true; } // get the program this app is submitted for; get the provider and set it a new property to the app $programs = com_meego_devprogram_progutils::get_programs(array('id' => $application->program)); $application->programobject = $programs[0]; $application->provider = $programs[0]->provider; return $application; } }