diff --git a/VERSION.txt b/VERSION.txt index cfbc6d1a7105..c90197307a10 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -5.1.47 \ No newline at end of file +5.1.48 \ No newline at end of file diff --git a/app/Http/Controllers/SelfUpdateController.php b/app/Http/Controllers/SelfUpdateController.php index cd77546c5d7d..ae46dbe8bcc8 100644 --- a/app/Http/Controllers/SelfUpdateController.php +++ b/app/Http/Controllers/SelfUpdateController.php @@ -85,7 +85,6 @@ class SelfUpdateController extends BaseController Artisan::call('clear-compiled'); Artisan::call('cache:clear'); - // Artisan::call('debugbar:clear'); Artisan::call('route:clear'); Artisan::call('view:clear'); Artisan::call('config:clear'); @@ -96,10 +95,17 @@ class SelfUpdateController extends BaseController private function testWritable() { - $directoryIterator = new \RecursiveDirectoryIterator(base_path()); + $directoryIterator = new \RecursiveDirectoryIterator(base_path(), \RecursiveDirectoryIterator::SKIP_DOTS); foreach (new \RecursiveIteratorIterator($directoryIterator) as $file) { + + if(strpos($file->getPathname(), '.git') !== false) + continue; + + // nlog($file->getPathname()); + if ($file->isFile() && ! $file->isWritable()) { + throw new FilePermissionsFailure($file); return false; } } diff --git a/app/Http/Controllers/TaskStatusController.php b/app/Http/Controllers/TaskStatusController.php index 4751ee9d0d5a..f83851c9d8f8 100644 --- a/app/Http/Controllers/TaskStatusController.php +++ b/app/Http/Controllers/TaskStatusController.php @@ -399,10 +399,10 @@ class TaskStatusController extends BaseController */ public function destroy(DestroyTaskStatusRequest $request, TaskStatus $task_status) { - - $this->task_status_repo->delete($task_status); + + $task_status = $this->task_status_repo->delete($task_status); - return $this->itemResponse($task_status->fresh()); + return $this->itemResponse($task_status); } /** diff --git a/app/Repositories/TaskStatusRepository.php b/app/Repositories/TaskStatusRepository.php index 6448bac5c31b..f1b9d826860e 100644 --- a/app/Repositories/TaskStatusRepository.php +++ b/app/Repositories/TaskStatusRepository.php @@ -12,6 +12,7 @@ namespace App\Repositories; use App\Models\Task; +use App\Models\TaskStatus; /** * Class for task status repository. @@ -21,10 +22,14 @@ class TaskStatusRepository extends BaseRepository public function delete($task_status) { + $ts = TaskStatus::where('company_id', $task_status->company_id) + ->first(); + + $new_status = $ts ? $ts->id : null; Task::where('status_id', $task_status->id) ->where('company_id', $task_status->company_id) - ->update(['status_id' => null]); + ->update(['status_id' => $new_status]); parent::delete($task_status); @@ -36,9 +41,14 @@ class TaskStatusRepository extends BaseRepository public function archive($task_status) { + $task_status = TaskStatus::where('company_id', $task_status->company_id) + ->first(); + + $new_status = $task_status ? $task_status->id : null; + Task::where('status_id', $task_status->id) ->where('company_id', $task_status->company_id) - ->update(['status_id' => null]); + ->update(['status_id' => $new_status]); parent::archive($task_status); diff --git a/app/Utils/HtmlEngine.php b/app/Utils/HtmlEngine.php index 6f891eeabe4f..3e691e418da3 100644 --- a/app/Utils/HtmlEngine.php +++ b/app/Utils/HtmlEngine.php @@ -153,6 +153,8 @@ class HtmlEngine $data['$date'] = ['value' => $this->translateDate($this->entity->date, $this->entity->client->date_format(), $this->entity->client->locale()) ?: ' ', 'label' => ctrans('texts.credit_date')]; } + $data['$portal_url'] = ['value' => $this->invitation->getPortalLink(), 'label' =>'']; + $data['$entity_number'] = &$data['$number']; $data['$invoice.discount'] = ['value' => Number::formatMoney($this->entity_calc->getTotalDiscount(), $this->client) ?: ' ', 'label' => ctrans('texts.discount')]; $data['$discount'] = &$data['$invoice.discount']; diff --git a/app/Utils/Traits/Inviteable.php b/app/Utils/Traits/Inviteable.php index 290bf5c2e47c..2f40c2e60026 100644 --- a/app/Utils/Traits/Inviteable.php +++ b/app/Utils/Traits/Inviteable.php @@ -66,6 +66,30 @@ trait Inviteable } } + public function getPortalLink() :string + { + + $domain = isset($this->company->portal_domain) ?: $this->company->domain(); + + switch ($this->company->portal_mode) { + case 'subdomain': + return $domain.'/client/'; + break; + case 'iframe': + return $domain.'/client/'; + //return $domain . $entity_type .'/'. $this->contact->client->client_hash .'/'. $this->key; + break; + case 'domain': + return $domain.'/client/'; + break; + + default: + return ''; + break; + } + + } + public function getAdminLink() :string { return $this->getLink().'?silent=true'; diff --git a/config/ninja.php b/config/ninja.php index 36d401e99903..1791a4e594d1 100644 --- a/config/ninja.php +++ b/config/ninja.php @@ -14,8 +14,8 @@ return [ 'require_https' => env('REQUIRE_HTTPS', true), 'app_url' => rtrim(env('APP_URL', ''), '/'), 'app_domain' => env('APP_DOMAIN', ''), - 'app_version' => '5.1.47', - 'app_tag' => '5.1.47-release', + 'app_version' => '5.1.48', + 'app_tag' => '5.1.48-release', 'minimum_client_version' => '5.0.16', 'terms_version' => '1.0.1', 'api_secret' => env('API_SECRET', false), diff --git a/tests/Feature/TaskStatusApiTest.php b/tests/Feature/TaskStatusApiTest.php index c93b28d7e346..09f8e0a418c1 100644 --- a/tests/Feature/TaskStatusApiTest.php +++ b/tests/Feature/TaskStatusApiTest.php @@ -135,7 +135,7 @@ class TaskStatusApiTest extends TestCase ])->delete('/api/v1/task_statuses/'.$this->encodePrimaryKey($this->task_status->id)); $arr = $response->json(); - +nlog($arr); $this->assertTrue($arr['data']['is_deleted']); }