예제 #1
0
 /**
  * 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;
     }
 }
예제 #2
0
 /**
  * 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;
     }
 }