Change start_time datatype

This commit is contained in:
David Bomba 2020-10-29 20:40:13 +11:00
parent 580cab1415
commit c1c8b6c14e
9 changed files with 95 additions and 4 deletions

View File

@ -52,7 +52,10 @@ class StoreInvoiceRequest extends Request
$rules['invitations.*.client_contact_id'] = 'distinct';
$rules['number'] = new UniqueInvoiceNumberRule($this->all());
if ($this->input('number')) {
$rules['number'] = 'unique:invoices,number,'.$this->id.',id,company_id,'.auth()->user()->company()->id;
}
// $rules['number'] = new UniqueInvoiceNumberRule($this->all());
$rules['project_id'] = ['bail', 'sometimes', new ValidProjectForClient($this->all())];
@ -66,7 +69,7 @@ class StoreInvoiceRequest extends Request
$input = $this->decodePrimaryKeys($input);
$input['line_items'] = isset($input['line_items']) ? $this->cleanItems($input['line_items']) : [];
//$input['line_items'] = json_encode($input['line_items']);
$this->replace($input);
}
}

View File

@ -38,6 +38,10 @@ class StoreTaskRequest extends Request
{
$rules = [];
if ($this->input('number')) {
$rules['number'] = 'unique:tasks,number,'.$this->id.',id,company_id,'.auth()->user()->company()->id;
}
return $this->globalRules($rules);
}

View File

@ -53,6 +53,7 @@ class Expense extends BaseModel
'custom_value2',
'custom_value3',
'custom_value4',
'number',
];
protected $casts = [

View File

@ -39,6 +39,7 @@ class Task extends BaseModel
'status_sort_order',
'invoice_documents',
'rate',
'number',
];
protected $touches = [];

View File

@ -45,7 +45,6 @@ class TaskRepository extends BaseRepository
*
* @return task|null task Object
*/
public function save(array $data, Task $task) : ?Task
{

View File

@ -198,7 +198,8 @@ trait ClientGroupSettingsSaver
switch ($key) {
case 'int':
case 'integer':
return ctype_digit(strval(abs($value)));
// return ctype_digit(strval(abs($value)));
return ctype_digit(strval($value));
case 'real':
case 'float':
case 'double':

View File

@ -20,6 +20,7 @@ use App\Models\Payment;
use App\Models\Project;
use App\Models\Quote;
use App\Models\RecurringInvoice;
use App\Models\Task;
use App\Models\Timezone;
use App\Models\Vendor;
use Illuminate\Support\Carbon;
@ -312,6 +313,45 @@ trait GeneratesCounter
return $vendor_number;
}
/**
* Gets the next task number.
*
* @param Task $task The task
* @return string The next task number.
*/
public function getNextTaskNumber(Task $task) :string
{
$this->resetCompanyCounters($task->company);
$counter = $task->company->settings->task_number_counter;
$setting_entity = $task->company->settings->task_number_counter;
$task_number = $this->checkEntityNumber(Task::class, $task, $counter, $task->company->settings->counter_padding, $task->company->settings->task_number_pattern);
$this->incrementCounter($task->company, 'task_number_counter');
return $task_number;
}
/**
* Gets the next expense number.
*
* @param Expense $expense The expense
* @return string The next expense number.
*/
public function getNextExpenseNumber(Expense $expense) :string
{
$this->resetCompanyCounters($expense->company);
$counter = $expense->company->settings->expense_number_counter;
$setting_entity = $expense->company->settings->expense_number_counter;
$expense_number = $this->checkEntityNumber(Expense::class, $expense, $counter, $expense->company->settings->counter_padding, $expense->company->settings->expense_number_pattern);
$this->incrementCounter($expense->company, 'expense_number_counter');
return $expense_number;
}
/**
* Determines if it has shared counter.

View File

@ -0,0 +1,30 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class ChangeStartTimeColumnType extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('tasks', function (Blueprint $table){
$table->unsignedInteger('duration')->nullable()->change();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}

View File

@ -79,6 +79,18 @@ class TaskApiTest extends TestCase
$response->assertStatus(200);
}
public function testTasksGet()
{
$response = $this->withHeaders([
'X-API-SECRET' => config('ninja.api_secret'),
'X-API-TOKEN' => $this->token,
])->get('/api/v1/tasks');
$response->assertStatus(200);
}
public function testTaskGet()
{
$response = $this->withHeaders([