function testDestroyAssociatedRecords() { $c = new Company(); $c->set(array('name' => 'destroy_test')); $c->save(); $p = new Project(); $p->set(array('company_id' => $c->id, 'name' => 'destroy_project_test')); $p->save(); $e = new Estimate(); $e->set(array('project_id' => $p->id, 'name' => 'destroy_estimate_test')); $e->save(); $h = new Hour(); $h->set(array('estimate_id' => $e->id, 'name' => 'destroy_hour_test')); $h->save(); $ch = new Charge(); $ch->set(array('company_id' => $c->id, 'name' => 'destroy_charge_test')); $ch->save(); $con = new SupportContract(); $con->set(array('company_id' => $c->id, 'name' => 'destroy_contract_test')); $con->save(); $sup_hr = new Hour(); $sup_hr->set(array('support_contract_id' => $con->id, 'description' => 'destroy_support_hour_test')); $sup_hr->save(); $pay = new Payment(); $pay->set(array('company_id' => $c->id, 'name' => 'destroy_payment_test')); $pay->save(); $deleted_items = array('company' => $c->id, 'project' => $p->id, 'estimate' => $e->id, 'hour' => $h->id, 'support_hour' => $sup_hr->id, 'charge' => $ch->id, 'support_contract' => $con->id, 'payment' => $pay->id); $c->destroyAssociatedRecords(); $c->delete(); $dbcon = AMP::getDb(); foreach ($deleted_items as $table => $id) { if ($table == 'support_hour') { $table = 'hour'; } $sql = 'SELECT * FROM ' . $table . ' WHERE id = ' . $id; if ($records = $dbcon->Execute($sql)) { $this->assertEqual($records->RecordCount(), 0, "{$table} not deleted correctly: %s"); } else { trigger_error($dbcon->ErrorMsg()); } } }
function testSendEmail() { $company = new Company(); $company->set(array('name' => 'Test Company')); $company->save(); $contact = new Contact(); $contact->set(array('first_name' => 'Testy', 'last_name' => 'test', 'email' => '*****@*****.**', 'is_billing_contact' => true, 'company_id' => $company->id)); $contact->save(); $i = new Invoice(); $i->set(array('company_id' => $company->id, 'start_date' => '2010-01-01', 'end_date' => '2010-03-31')); $i->execute(); $i->save(); # here i test sending my invoice require_once 'controller/InvoiceController.php'; $invoice_controller = new InvoiceController(); $invoice_controller->disableRedirect(); $invoice_controller->execute('email', array('id' => $i->id)); $msg = Render::_dumpMessages(); $this->assertPattern('/Email Sent/', $msg); }
function testCalculateBalanceWithDateRange() { #Company $cp = new Company(); $cp->set(array('name' => 'Test Company', 'status' => 'active')); $cp->save(); $pb = new CompanyPreviousBalance(); $pb->set(array('company_id' => $cp->id, 'amount' => 600.25, 'date' => '2010-01-30')); $pb->save(); $this->assertWithinMargin($pb->getAmount(), '600.25', '.01'); ######### Support $sc = new SupportContract(); $sc->set(array('company_id' => $cp->id, 'domain_name' => 'Test', 'start_date' => '2010-01-01', 'end_date' => '2010-04-30', 'hourly_rate' => '120', 'support_hours' => '.5', 'monthly_rate' => '50')); $sc->save(); # add support hours # before previous balance $h = new Hour(); $h->set(array('description' => 'Test', 'support_contract_id' => $sc->id, 'date' => '2010-01-20', 'hours' => '2.5')); $h->save(); # in range $h = new Hour(); $h->set(array('description' => 'Test', 'support_contract_id' => $sc->id, 'date' => '2010-02-20', 'hours' => '2.5')); $h->save(); # in range $h = new Hour(); $h->set(array('description' => 'Test', 'support_contract_id' => $sc->id, 'date' => '2010-03-20', 'hours' => '2.5')); $h->save(); # out of range $h = new Hour(); $h->set(array('description' => 'Test', 'support_contract_id' => $sc->id, 'date' => '2010-05-20', 'hours' => '2')); $h->save(); ### Support Totals = in range is 2 months x 50 = 100, 4 @ 120 = 480 = 580 $date_range = array('start_date' => '2010-01-01', 'end_date' => '2010-03-31'); $total = $cp->calculateSupportTotal($date_range); $this->assertEqual($total, 580); ###### Project $pj = new Project(); $pj->set(array('name' => 'Test Project', 'company_id' => $cp->id, 'hourly_rate' => '120')); $pj->save(); # Add an Estimate item #1 $es1 = new Estimate(); $es1->set(array('project_id' => $pj->id, 'name' => 'Test Estimate 1', 'high_hours' => '10', 'low_hours' => '5')); $es1->save(); # Add an Estimate item #2 $es2 = new Estimate(); $es2->set(array('project_id' => $pj->id, 'name' => 'Test Estimate 2', 'high_hours' => '10', 'low_hours' => '5')); $es2->save(); # Add some before previous balance hours for #1 - 5 hours at 120 = 600 $hr = new Hour(); $hr->set(array('estimate_id' => $es1->id, 'description' => 'Test Hours for Estimate 1', 'date' => '2010-01-15', 'hours' => '5')); $hr->save(); # Add some in range hours for #1 - 5 hours at 120 = 600 $hr = new Hour(); $hr->set(array('estimate_id' => $es1->id, 'description' => 'Test Hours for Estimate 1', 'date' => '2010-02-15', 'hours' => '5')); $hr->save(); # Add some in range hours for #2 - 5 hours at 120 = 600 $hr = new Hour(); $hr->set(array('estimate_id' => $es2->id, 'description' => 'Test Hours for Estimate 2', 'date' => '2010-02-15', 'hours' => '5')); $hr->save(); # Add some out of range hours for #2 - 5 hours at 120 = 600 $hr = new Hour(); $hr->set(array('estimate_id' => $es2->id, 'description' => 'Test Hours for Estimate 2', 'date' => '2010-05-15', 'hours' => '5')); $hr->save(); ## Project Totals = In range 1200, out of range 1800 $date_range = array('start_date' => '2010-01-01', 'end_date' => '2010-03-31'); $total = $cp->calculateProjectsTotal($date_range); $this->assertEqual($total, 1200); #Charge # before previous balance $cr = new Charge(); $cr->set(array('name' => 'Test', 'company_id' => $cp->id, 'date' => '2010-01-10', 'amount' => '20.50')); $cr->save(); # in date range $cr = new Charge(); $cr->set(array('name' => 'Test', 'company_id' => $cp->id, 'date' => '2010-03-14', 'amount' => '50.25')); $cr->save(); # in date range $cr = new Charge(); $cr->set(array('name' => 'Test', 'company_id' => $cp->id, 'date' => '2010-03-20', 'amount' => '50')); $cr->save(); # out of date range $cr = new Charge(); $cr->set(array('name' => 'Test', 'company_id' => $cp->id, 'date' => '2010-05-15', 'amount' => '50')); $cr->save(); # Total Charges = in range 100.25, out of range 150.25 $date_range = array('start_date' => '2010-01-01', 'end_date' => '2010-03-31'); $charge_total = $cp->calculateChargesTotal($date_range); $this->assertEqual($charge_total, 100.25); ## Test Total Costs # Charges 100.25 + project 1200 + support 580 $date_range = array('start_date' => '2010-01-01', 'end_date' => '2010-03-31'); $total = $cp->calculateCosts($date_range); $this->assertEqual($total, 1880.25); ## Payments # add payment before previous balance date $py = new Payment(); $py->set(array('company_id' => $cp->id, 'date' => '2010-01-22', 'amount' => '20.50')); $py->save(); # add payment in range $py = new Payment(); $py->set(array('company_id' => $cp->id, 'date' => '2010-02-10', 'amount' => '20.00')); $py->save(); # add payment in range $py = new Payment(); $py->set(array('company_id' => $cp->id, 'date' => '2010-03-01', 'amount' => '120.00')); $py->save(); # add payment out of range $py = new Payment(); $py->set(array('company_id' => $cp->id, 'date' => '2010-04-01', 'amount' => '20.25')); $py->save(); # Total Payments are 20 + 120 = 140 in range and after previous balance $date_range = array('start_date' => '2010-01-01', 'end_date' => '2010-03-31'); $payment_total = $cp->calculatePaymentsTotal($date_range); $this->assertEqual($payment_total, 140); #### fails because the previous balance isn't getting included FIX ME!! # Total Balance Costs 1880.25 - Payments 140 + Previous balance 600.25 = 2340.5 $date_range = array('start_date' => '2010-01-01', 'end_date' => '2010-03-31'); $balance = $cp->calculateBalance($date_range); $this->assertWithinMargin($balance, 2340.5, 0.001); ## clean up $cp->destroyAssociatedRecords(); $cp->delete(); }
public static function getPageTemplate($url) { if (count(Request::getAllRequest())) { switch (Request::post("type")) { case 'user': $user = new User(); $user->set("email_id", Request::post("email")); $user->set("password", Request::post("password")); $user->set("re_pass", Request::post("r_password")); $user->set("name", Request::post("name")); $user->set("mobile", Request::post("mobile")); $user->set("website", Request::post("website")); $user->set("add", Request::post("add")); $user->set("city", Request::post("city")); $user->set("location", Request::post("location")); $user->set("experience", Request::post("experience")); $user->set("education", Request::post("education")); $user->set("specialization", Request::post("specialization")); $user->set("pra_court", Request::post("pra_court")); $action = Request::post("action"); $result = $user->{$action}(); $page = new Page(); if ($result && $action == 'login') { $page->set("access_id", Session::read("access_type")); $pageType = $page->getPageTypeUrl(); $r_url = SERVER_URL . "/{$pageType}/home"; } elseif ($result && $action == 'registration') { $page->set("access_id", Session::read("access_type")); $pageType = $page->getPageTypeUrl(); $r_url = SERVER_URL . "/{$pageType}/home"; } elseif ($result && $action == 'editProfile') { $page->set("access_id", Session::read("access_type")); $pageType = $page->getPageTypeUrl(); $r_url = SERVER_URL . "/{$pageType}/profile"; } else { $r_url = SERVER_URL . "/login"; } General::redirectUrl($r_url); break; case 'company': $company = new Company(); $company->set("user_id", Request::post("userid")); $company->set("name", Request::post("name")); $company->set("city", Request::post("city")); $company->set("location", Request::post("location")); $company->set("website", Request::post("website")); $company->set("email", Request::post("email")); $company->set("phone", Request::post("phone")); $company->set("specialization", Request::post("specialization")); $company->set("description", Request::post("description")); $action = Request::post("action"); $result = $company->{$action}(); // print_r($result); exit(); $page = new Page(); if ($result && $action == 'addcompany') { $page->set("access_id", Session::read("access_type")); $pageType = $page->getPageTypeUrl(); $r_url = SERVER_URL . "/{$pageType}/company"; } else { $r_url = SERVER_URL . "/lpo-training"; } General::redirectUrl($r_url); break; case 'question': $ques = new Questions(); $ques->set("user_id", Request::post("userid")); $ques->set("question", Request::post("question")); $ques->set("heading", Request::post("heading")); $ques->set("topic_id", Request::post("topic_id")); $ques->set("city", Request::post("city")); $action = Request::post("action"); $result = $ques->{$action}(); // print_r($result); exit(); $page = new Page(); if ($result && $action == 'addquestion') { $page->set("access_id", Session::read("access_type")); $pageType = $page->getPageTypeUrl(); $r_url = SERVER_URL . "/{$pageType}/online-legal-advice"; } else { $r_url = SERVER_URL . "/home"; } General::redirectUrl($r_url); break; case 'jobs': $job = new Jobs(); $job->set("user_id", Request::post("userid")); $job->set("heading", Request::post("heading")); $job->set("education", Request::post("education")); $job->set("exp_min", Request::post("exp_min")); $job->set("exp_max", Request::post("exp_max")); $job->set("salary", Request::post("salary")); $job->set("description", Request::post("description")); $job->set("c_name", Request::post("companyname")); $job->set("email", Request::post("email")); $job->set("phone", Request::post("phone")); $job->set("city", Request::post("city")); $job->set("address", Request::post("address")); $result = $company->{$action}(); // print_r($result); exit(); $page = new Page(); if ($result && $action == 'addjobs') { $page->set("access_id", Session::read("access_type")); $pageType = $page->getPageTypeUrl(); $r_url = SERVER_URL . "/{$pageType}/jobs"; } else { $r_url = SERVER_URL . "/{$pageType}/home"; } General::redirectUrl($r_url); break; case 'resumes': $job = new Jobs(); $job->set("user_id", Request::post("userid")); $job->set("heading", Request::post("heading")); $job->set("education", Request::post("education")); $job->set("exp_min", Request::post("exp_min")); $job->set("exp_max", Request::post("exp_max")); $job->set("salary", Request::post("salary")); $job->set("description", Request::post("description")); $job->set("c_name", Request::post("companyname")); $job->set("email", Request::post("email")); $job->set("phone", Request::post("phone")); $job->set("city", Request::post("city")); $job->set("address", Request::post("address")); $result = $company->{$action}(); // print_r($result); exit(); $page = new Page(); if ($result && $action == 'addjobs') { $page->set("access_id", Session::read("access_type")); $pageType = $page->getPageTypeUrl(); $r_url = SERVER_URL . "/{$pageType}/jobs"; } else { $r_url = SERVER_URL . "/{$pageType}/home"; } General::redirectUrl($r_url); break; } } $general = new General(); $general->url = $url; return $general->setTempalte(); }
$ok = $DB->Execute($sql); if ($ok) { echo "CREATED STAFF RECORDS\n"; } else { echo "FAILED TO CREATE STAFF RECORDS\n"; } // CREATE COMPANIES FROM PREAMP EXPORT $rows = $DB->Execute('select * from userdata where modin=66'); while (!$rows->EOF) { $status = $rows->Fields('custom16'); if ($status == 'rEvent') { $status = 'active'; } $company_data = array('name' => $rows->Fields('Company'), 'notes' => $rows->Fields('custom9'), 'street' => $rows->Fields('Street'), 'street_2' => $rows->Fields('Street_2'), 'city' => $rows->Fields('City'), 'state' => $rows->Fields('State'), 'zip' => $rows->Fields('Zip'), 'preamp_id' => $rows->Fields('custom1'), 'status' => $status, 'bay_area' => $rows->Fields('custom11'), 'date_started' => $rows->Fields('custom8')); $c = new Company(); $c->set($company_data); $c->save(); $billing_name = explode(' ', $rows->Fields('custom18'), 2); $billing_first = !empty($billing_name[0]) ? $billing_name[0] : ''; $billing_last = !empty($billing_name[1]) ? $billing_name[1] : ''; $billing_data = array('first_name' => $billing_first, 'last_name' => $billing_last, 'company_id' => $c->id, 'email' => $rows->Fields('custom2'), 'phone' => $rows->Fields('Cell_Phone'), 'is_billing_contact' => true, 'preamp_id' => $rows->Fields('custom1')); $billing_contact = new Contact(); $billing_contact->set($billing_data); $billing_contact->save(); $primary_name = explode(' ', $rows->Fields('custom17'), 2); $primary_first = !empty($primary_name[0]) ? $primary_name[0] : ''; $primary_last = !empty($primary_name[1]) ? $primary_name[1] : ''; $primary_data = array('first_name' => $primary_first, 'last_name' => $primary_last, 'company_id' => $c->id, 'email' => $rows->Fields('custom3'), 'phone' => $rows->Fields('Phone'), 'is_primary_contact' => true, 'preamp_id' => $rows->Fields('custom1')); $primary_contact = new Contact(); $primary_contact->set($primary_data); $primary_contact->save();