Ejemplo n.º 1
0
$eschool = Doctrine::getTable('GcrEschool')->findOneById($eschoolid);
if (!$eschool || $eschool->getInstitution()->getShortName() != $CFG->current_app->getShortName()) {
    $CFG->current_app->gcError('Invalid eschool id ' . $eschoolid, 'gcdatabaseerror');
}
$users = $eschool->getEclassroomUsers();
$results = get_admin_user_search_results('', 0, 0, 'firstname', 'asc');
$users_not_in_moodle = array();
$users_exist = false;
$potential_users = array();
$eclassroom_users = array();
$mhr_user_objs = $CFG->current_app->selectFromMhrTable('usr');
foreach ($mhr_user_objs as $mhr_user_obj) {
    $mhr_user = new GcrMhrUser($mhr_user_obj, $CFG->current_app);
    if ($mhr_user_obj->admin != 1 && $mhr_user_obj->deleted != 1) {
        $user_string = ucfirst(trim($mhr_user_obj->firstname . ' ' . ucfirst($mhr_user_obj->lastname) . ' (' . $mhr_user_obj->email . ')'));
        if ($mhr_user->hasEclassroom($eschool)) {
            $eclassroom_users[$mhr_user_obj->id] = $user_string;
        } else {
            $potential_users[$mhr_user_obj->id] = $user_string;
        }
    }
}
asort($eclassroom_users);
asort($potential_users);
$eschool_options = array();
foreach ($CFG->current_app->getEschools() as $eschool) {
    $eschool_options[$eschool->getId()] = $eschool->getFullName();
}
// create the catalog selector
$eschoolselector = pieform(array('name' => 'eschoolselect', 'elements' => array('eschool' => array('type' => 'select', 'title' => get_string('catalog', 'artefact.eschooladmin'), 'options' => $eschool_options, 'defaultvalue' => $eschoolid))));
// create the migrate users form
 public function executeDoManualClassroom(sfWebRequest $request)
 {
     $this->authorizeUser();
     global $CFG;
     $form = $request->getPostParameters();
     if ($form['id'] != '') {
         // Edit of existing purchase
         $purchase = $this->getManualPurchase($form['id'], 'classroom');
         $institution = $this->eschool->getInstitution();
         if (!($mhr_user = $institution->selectFromMhrTable('usr', 'id', $form['purchase_user_field'], true))) {
             $CFG->current_app->gcError('Invalid user ID ' . $form['purchase_user_field'], 'gcdatabaseerror');
         }
         $manual_purchase_form = new GcrPurchaseClassroomManualForm($purchase, array('eschool' => $institution));
         $form['user_id'] = $mhr_user->id;
         $form['amount'] = $form['amount_field'];
         $form['gc_fee'] = $this->eschool->getGcFeeClassroom();
         $form['bill_cycle'] = GcrPurchaseTable::convertDatetoTimestamp($form['bill_cycle']);
         $form['trans_time'] = GcrPurchaseTable::convertDatetoTimestamp($form['trans_time']);
         $manual_purchase_form->bind($form);
         if ($manual_purchase_form->isValid()) {
             $purchase = $manual_purchase_form->save();
             $purchase->updateRelatedAccounting();
             $this->redirect($CFG->current_app->getUrl() . '/account/view?eschool=' . $institution->getShortName());
         }
     } else {
         // New purchase
         if ($short_name = $form['purchase_type_eschool_field']) {
             $this->eschool = GcrEschoolTable::getEschool($short_name);
         } else {
             $CFG->current_app->gcError('eSchool Parameter Missing', 'gcdatabaseerror');
         }
         $institution = $this->eschool->getInstitution();
         $manual_purchase_form = new GcrPurchaseClassroomManualForm(array(), array('eschool' => $institution));
         $form['purchase_type'] = 'classroom_manual';
         $form['purchase_type_description'] = 'Manual eClassroom Transaction';
         $form['purchase_type_quantity'] = 1;
         $form['purchase_type_id'] = $this->eschool->getShortName();
         $form['user_id'] = $form['purchase_user_field'];
         $form['purchase_type_eschool_id'] = $form['purchase_type_eschool_field'];
         $form['user_institution_id'] = $institution->getShortName();
         $form['amount'] = $form['amount_field'];
         $form['gc_fee'] = $this->eschool->getGcFeeClassroom();
         $form['owner_fee'] = 0;
         $form['seller_id'] = 0;
         $form['bill_cycle'] = GcrPurchaseTable::convertDatetoTimestamp($form['bill_cycle']);
         $form['trans_time'] = GcrPurchaseTable::convertDatetoTimestamp($form['trans_time']);
         $manual_purchase_form->bind($form);
         if ($manual_purchase_form->isValid()) {
             if (!($mhr_user = $institution->selectFromMhrTable('usr', 'id', $form['purchase_user_field'], true))) {
                 $CFG->current_app->gcError('Invalid user ID ' . $form['purchase_user_field'], 'gcdatabaseerror');
             }
             $mhr_user = new GcrMhrUser($mhr_user, $institution);
             $purchase = $manual_purchase_form->save();
             $purchase->assignSeller();
             if (!$mhr_user->hasEclassroom($this->eschool)) {
                 $institution->createEclassroom($mhr_user, $this->eschool);
             }
             $purchase->updateRelatedAccounting();
             $this->redirect($CFG->current_app->getUrl() . '/account/view?eschool=' . $institution->getShortName());
         }
     }
     $this->classroom_form = $manual_purchase_form;
     $this->setTemplate('manualClassroom');
 }