assign('msg', tra("This feature is disabled") . ": feature_accounting"); $smarty->display("error.tpl"); die; } if (! isset($_REQUEST['action'])) { $_REQUEST['action'] = ''; } $globalperms = Perms::get(); $accountinglib = TikiLib::lib('accounting'); if ($_REQUEST['book_start_Year']) { $bookStartDate = new DateTime(); $bookStartDate->setDate( $_REQUEST['book_start_Year'], $_REQUEST['book_start_Month'], $_REQUEST['book_start_Day'] ); } if ($_REQUEST['book_end_Year']) { $bookEndDate = new DateTime(); $bookEndDate->setDate( $_REQUEST['book_end_Year'], $_REQUEST['book_end_Month'], $_REQUEST['book_end_Day'] ); } if (! empty($_REQUEST['action'])) { switch ($_REQUEST['action']) { case 'create': if (! $globalperms->acct_create_book) { Feedback::error(tra('You do not have permission to create a book')); } elseif ($access->checkCsrf()) { $bookId = $accountinglib->createBook( $_POST['bookName'], 'n', date_format($bookStartDate, 'Y-m-d H:i:s'), date_format($bookEndDate, 'Y-m-d H:i:s'), $_POST['bookCurrency'], $_POST['bookCurrencyPos'], $_POST['bookDecimals'], $_POST['bookDecPoint'], $_POST['bookThousand'], $_POST['exportSeparator'], $_POST['exportEOL'], $_POST['exportQuote'], $_POST['bookAutoTax'] ); if (! is_numeric($bookId)) { $errors[] = tra($bookId); Feedback::error(implode("\n", $errors)); $smarty->assign('bookName', $_POST['bookName']); $smarty->assign('bookStartDate', $bookStartDate); $smarty->assign('bookEndDate', $bookEndDate); $smarty->assign('bookCurrency', $_POST['bookCurrency']); $smarty->assign('bookCurrencyPos', $_POST['bookCurrencyPos']); $smarty->assign('bookDecimals', $_POST['bookDecimals']); $smarty->assign('bookDecPoint', $_POST['bookDecPoint']); $smarty->assign('bookThousand', $_POST['bookThousand']); $smarty->assign('exportSeparator', $_POST['exportSeparator']); $smarty->assign('exportEOL', $_POST['exportEOL']); $smarty->assign('exportQuote', $_POST['exportQuote']); $smarty->assign('bookAutoTax', $_POST['bookAutoTax']); } else { Feedback::success(tr('Book %0 successfully created', $_POST['bookName'])); } } break; case 'close': if (! $globalperms->acct_create_book) { Feedback::error(tra('You do not have permission to close this book')); } elseif ($access->checkCsrf(true)) { $res = $accountinglib->closeBook($_POST['bookId']); if ($res) { Feedback::success(tra('Book successfully closed')); } else { Feedback::error(tra('The attempt to close the book was unsuccessful')); } } break; case 'view': break; default://list } } $books = $accountinglib->listBooks(); $filtered = Perms::filter( [ 'type' => 'accounting book'], 'object', $books, [ 'object' => 'bookName' ], 'acct_view' ); $smarty->assign('books', $books); $smarty->assign('canCreate', $globalperms->acct_create_book); $smarty->assign('mid', 'tiki-accounting_books.tpl'); $smarty->display("tiki.tpl");