X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=invoice_add.php;h=01b77615e407848a9df79b74ed4931b542113d0d;hb=2cb68f81bd4dd4f4a83afc87bbc292df6b7d7039;hp=e536f8767ed070e37d9c87e7f361ebbb53f750d6;hpb=a7ba11adfecf6cb906749efe5abce688363aef07;p=timetracker.git diff --git a/invoice_add.php b/invoice_add.php index e536f876..01b77615 100644 --- a/invoice_add.php +++ b/invoice_add.php @@ -32,7 +32,7 @@ import('ttTeamHelper'); import('ttInvoiceHelper'); // Access check. -if (!ttAccessCheck(right_manage_team)) { +if (!ttAccessAllowed('manage_invoices') || !$user->isPluginEnabled('iv')) { header('Location: access_denied.php'); exit(); } @@ -50,7 +50,7 @@ $form = new Form('invoiceForm'); $form->addInput(array('type'=>'datefield','name'=>'date','size'=>'20','value'=>$cl_date)); // Dropdown for clients if the clients plugin is enabled. -if (in_array('cl', explode(',', $user->plugins))) { +if ($user->isPluginEnabled('cl')) { $clients = ttTeamHelper::getActiveClients($user->team_id); $form->addInput(array('type'=>'combobox','name'=>'client','style'=>'width: 250px;','data'=>$clients,'datakeys'=>array('id','name'),'value'=>$cl_client,'empty'=>array(''=>$i18n->getKey('dropdown.select')))); } @@ -66,30 +66,31 @@ $form->addInput(array('type'=>'submit','name'=>'btn_submit','value'=>$i18n->getK if ($request->isPost()) { // Validate user input. - if (!ttValidString($cl_number)) $errors->add($i18n->getKey('error.field'), $i18n->getKey('form.invoice.number')); - if (!ttValidDate($cl_date)) $errors->add($i18n->getKey('error.field'), $i18n->getKey('label.date')); - if (!$cl_client) $errors->add($i18n->getKey('error.client')); - if (!ttValidDate($cl_start)) $errors->add($i18n->getKey('error.field'), $i18n->getKey('label.start_date')); - if (!ttValidDate($cl_finish)) $errors->add($i18n->getKey('error.field'), $i18n->getKey('label.end_date')); + if (!ttValidString($cl_number)) $err->add($i18n->getKey('error.field'), $i18n->getKey('form.invoice.number')); + if (!ttValidDate($cl_date)) $err->add($i18n->getKey('error.field'), $i18n->getKey('label.date')); + if (!$cl_client) $err->add($i18n->getKey('error.client')); + if (!ttValidDate($cl_start)) $err->add($i18n->getKey('error.field'), $i18n->getKey('label.start_date')); + if (!ttValidDate($cl_finish)) $err->add($i18n->getKey('error.field'), $i18n->getKey('label.end_date')); $fields = array('date'=>$cl_date,'name'=>$cl_number,'client_id'=>$cl_client,'project_id'=>$cl_project,'start_date'=>$cl_start,'end_date'=>$cl_finish); - if ($errors->no()) { + if ($err->no()) { if (ttInvoiceHelper::getInvoiceByName($cl_number)) - $errors->add($i18n->getKey('error.invoice_exists')); + $err->add($i18n->getKey('error.invoice_exists')); if (!ttInvoiceHelper::invoiceableItemsExist($fields)) - $errors->add($i18n->getKey('error.no_invoiceable_items')); + $err->add($i18n->getKey('error.no_invoiceable_items')); } - if ($errors->no()) { + if ($err->no()) { // Now we can go ahead and create our invoice. if (ttInvoiceHelper::createInvoice($fields)) { header('Location: invoices.php'); exit(); + } else { + $err->add($i18n->getKey('error.db')); } - $errors->add($i18n->getKey('error.db')); } -} // POST +} // isPost $smarty->assign('forms', array($form->getName()=>$form->toArray())); $smarty->assign('onload', 'onLoad="document.invoiceForm.number.focus()"');