diff --git a/app/Http/Controllers/InvoiceController.php b/app/Http/Controllers/InvoiceController.php index 4f4faa7..e2b8312 100644 --- a/app/Http/Controllers/InvoiceController.php +++ b/app/Http/Controllers/InvoiceController.php @@ -1167,6 +1167,181 @@ class InvoiceController extends Controller { } } + // Periods + public function getPeriods(Request $request) { // /api/rpc/invoice/periods/getperiods + $check = $this->objAuth->checkLegit($request->username, $request->password); + + if ($check == 0) { + return 'Err!'; + } + else { + $valid = $this->objAuth->getPermissions($request->username, $request->password); + + if ($valid['inv_makeinvoice'] == 1) { + if ($valid['inv_manuser'] == 1) { + return DB::table('inv_periods') + ->select( + 'id', + 'user_id', + 'name', + 'rate' + ) + ->get(); + + } + else { + return DB::table('inv_periods') + ->select( + 'id', + 'name', + 'rate' + ) + ->where('user_id', $check) + ->get(); + } + } + else { + return 'Permission denied.'; + } + } + } + + public function getPeriod($id, Request $request) { // /api/rpc/invoice/periods/getperiod/id + $check = $this->objAuth->checkLegit($request->username, $request->password); + + if ($check == 0) { + return 'Err!'; + } + else { + $valid = $this->objAuth->getPermissions($request->username, $request->password); + + if ($valid['inv_makeinvoice'] == 1) { + if ($valid['inv_manuser'] == 1) { + return DB::table('inv_periods') + ->select( + 'id', + 'user_id', + 'name', + 'rate' + ) + ->where('id', $id) + ->get(); + } + else { + return DB::table('inv_periods') + ->select( + 'id', + 'name', + 'rate' + ) + ->where('id', $id) + ->where('user_id', $check) + ->get(); + } + } + else { + return 'Permission denied.'; + } + } + } + + public function newPeriod(Request $request) { // /api/rpc/invoice/periods/new + $check = $this->objAuth->checkLegit($request->username, $request->password); + + if ($check == 0) { + return 'Err!'; + } + else { + $valid = $this->objAuth->getPermissions($request->username, $request->password); + + if ($valid['inv_makeinvoice'] == 1) { + if ($valid['inv_manuser'] == 1) { + $add = DB::table('inv_periods') + ->insertGetId([ + 'user_id' => $request->user_id, + 'name' => $request->name, + 'rate' => $request->rate + ]); + } + else { + $add = DB::table('inv_periods') + ->insertGetId([ + 'user_id' => $check, + 'name' => $request->name, + 'rate' => $request->rate + ]); + } + + return $add; + } + else { + return 'Permission denied.'; + } + } + } + + public function editPeriod(Request $request) { // /api/rpc/invoice/periods/edit + $check = $this->objAuth->checkLegit($request->username, $request->password); + + if ($check == 0) { + return 'Err!'; + } + else { + $valid = $this->objAuth->getPermissions($request->username, $request->password); + + if ($valid['inv_makeinvoice'] == 1) { + if ($valid['inv_manuser'] == 1) { + DB::table('inv_periods') + ->where('id', $request->id) + ->update([ + 'user_id' => $request->user_id, + 'name' => $request->name, + 'rate' => $request->rate + ]); + } + else { + DB::table('inv_periods') + ->where('id', $request->id) + ->where('user_id', $check) + ->update([ + 'name' => $request->name, + 'rate' => $request->rate + ]); + } + + return 'Success!'; + } + else { + return 'Permission denied.'; + } + } + } + + public function deletePeriod(Request $request) { // /api/rpc/invoice/periods/delete + $check = $this->objAuth->checkLegit($request->username, $request->password); + + if ($check == 0) { + return 'Err!'; + } + else { + $valid = $this->objAuth->getPermissions($request->username, $request->password); + + if ($valid['inv_makeinvoice'] == 1) { + if ($valid['inv_manuser'] == 1) { + DB::table('inv_periods')->where('id', $request->id)->delete(); + } + else { + DB::table('inv_periods')->where('id', $request->id)->where('user_id', $check)->delete(); + } + + return 'Done.'; + } + else { + return 'Permission denied.'; + } + } + } + // Products public function getProducts(Request $request) { // /api/rpc/invoice/products/products/get $check = $this->objAuth->checkLegit($request->username, $request->password); diff --git a/routes/class/invoice.php b/routes/class/invoice.php index 46e9111..c62ad09 100644 --- a/routes/class/invoice.php +++ b/routes/class/invoice.php @@ -30,6 +30,8 @@ Route::get('/api/rpc/invoice/invoices/getinvoices', 'InvoiceController@getInvoic Route::get('/api/rpc/invoice/invoices/getinvoice/{id}', 'InvoiceController@getInvoice'); Route::get('/api/rpc/invoice/services/getservices', 'InvoiceController@getServices'); Route::get('/api/rpc/invoice/services/getservice/{id}', 'InvoiceController@getService'); +Route::get('/api/rpc/invoice/periods/getperiods', 'InvoiceController@getPeriods'); +Route::get('/api/rpc/invoice/periods/getperiod/{id}', 'InvoiceController@getPeriod'); Route::get('/api/rpc/invoice/products/products/get', 'InvoiceController@getProducts'); Route::get('/api/rpc/invoice/products/product/get/{id}', 'InvoiceController@getProduct'); @@ -41,6 +43,7 @@ Route::get('/api/rpc/invoice/products/interval/get/{id}', 'InvoiceController@get Route::post('/api/rpc/invoice/invoices/deleteitem', 'InvoiceController@deleteInvoiceItem'); Route::post('/api/rpc/invoice/invoices/delete', 'InvoiceController@deleteInvoice'); Route::post('/api/rpc/invoice/services/delete', 'InvoiceController@deleteService'); +Route::post('/api/rpc/invoice/periods/delete', 'InvoiceController@deletePeriod'); Route::post('/api/rpc/invoice/products/product/delete', 'InvoiceController@deleteProduct'); Route::post('/api/rpc/invoice/products/category/delete', 'InvoiceController@deleteProductCategory'); Route::post('/api/rpc/invoice/products/interval/delete', 'InvoiceController@deleteProductInterval'); @@ -48,6 +51,7 @@ Route::post('/api/rpc/invoice/products/interval/delete', 'InvoiceController@dele Route::post('/api/rpc/invoice/invoices/edititem', 'InvoiceController@editInvoiceItem'); Route::post('/api/rpc/invoice/invoices/edit', 'InvoiceController@editInvoice'); Route::post('/api/rpc/invoice/services/edit', 'InvoiceController@editService'); +Route::post('/api/rpc/invoice/periods/edit', 'InvoiceController@editPeriod'); Route::post('/api/rpc/invoice/products/product/edit', 'InvoiceController@editProduct'); Route::post('/api/rpc/invoice/products/category/edit', 'InvoiceController@editProductCategory'); Route::post('/api/rpc/invoice/products/interval/edit', 'InvoiceController@editProductInterval'); @@ -55,6 +59,7 @@ Route::post('/api/rpc/invoice/products/interval/edit', 'InvoiceController@editPr Route::post('/api/rpc/invoice/invoices/newitem', 'InvoiceController@newInvoiceItem'); Route::post('/api/rpc/invoice/invoices/new', 'InvoiceController@newInvoice'); Route::post('/api/rpc/invoice/services/new', 'InvoiceController@newService'); +Route::post('/api/rpc/invoice/periods/new', 'InvoiceController@newPeriod'); Route::post('/api/rpc/invoice/products/product/new', 'InvoiceController@newProduct'); Route::post('/api/rpc/invoice/products/category/new', 'InvoiceController@newProductCategory'); Route::post('/api/rpc/invoice/products/interval/new', 'InvoiceController@newProductInterval');