diff --git a/app/Http/Controllers/Sales/Customers.php b/app/Http/Controllers/Sales/Customers.php
index b5e430b77..4667e5591 100644
--- a/app/Http/Controllers/Sales/Customers.php
+++ b/app/Http/Controllers/Sales/Customers.php
@@ -320,28 +320,4 @@ class Customers extends Controller
return response()->json($customer);
}
-
- public function field(BaseRequest $request)
- {
- $html = '';
-
- if ($request['fields']) {
- foreach ($request['fields'] as $field) {
- switch ($field) {
- case 'password':
- $html .= \Form::passwordGroup('password', trans('auth.password.current'), 'key', [], 'col-md-6 password');
- break;
- case 'password_confirmation':
- $html .= \Form::passwordGroup('password_confirmation', trans('auth.password.current_confirm'), 'key', [], 'col-md-6 password');
- break;
- }
- }
- }
-
- $json = [
- 'html' => $html
- ];
-
- return response()->json($json);
- }
}
diff --git a/app/Http/Requests/Common/Widget.php b/app/Http/Requests/Common/Widget.php
index 881c4bd61..79a8186d4 100644
--- a/app/Http/Requests/Common/Widget.php
+++ b/app/Http/Requests/Common/Widget.php
@@ -27,6 +27,7 @@ class Widget extends FormRequest
'dashboard_id' => 'required|integer',
'name' => 'required|string',
'class' => 'required',
+ 'sort' => 'integer',
];
}
}
diff --git a/app/Models/Common/Widget.php b/app/Models/Common/Widget.php
index 23ef451c8..337dbba01 100644
--- a/app/Models/Common/Widget.php
+++ b/app/Models/Common/Widget.php
@@ -4,10 +4,11 @@ namespace App\Models\Common;
use App\Abstracts\Model;
use Bkwld\Cloner\Cloneable;
+use Illuminate\Database\Eloquent\Factories\HasFactory;
class Widget extends Model
{
- use Cloneable;
+ use Cloneable, HasFactory;
protected $table = 'widgets';
@@ -36,4 +37,14 @@ class Widget extends Model
{
return $this->hasManyThrough('App\Models\Auth\User', 'App\Models\Common\Dashboard');
}
+
+ /**
+ * Create a new factory instance for the model.
+ *
+ * @return \Illuminate\Database\Eloquent\Factories\Factory
+ */
+ protected static function newFactory()
+ {
+ return \Database\Factories\Widget::new();
+ }
}
diff --git a/database/factories/Widget.php b/database/factories/Widget.php
new file mode 100644
index 000000000..6cf8ab6dc
--- /dev/null
+++ b/database/factories/Widget.php
@@ -0,0 +1,47 @@
+ $this->company->id,
+ 'dashboard_id' => $dashboard->id,
+ 'name' => $this->faker->text(15),
+ 'class' => $this->faker->randomElement($this->classes),
+ ];
+ }
+}
diff --git a/resources/assets/js/components/AkauntingWidget.vue b/resources/assets/js/components/AkauntingWidget.vue
index f7d9954e5..c633660df 100644
--- a/resources/assets/js/components/AkauntingWidget.vue
+++ b/resources/assets/js/components/AkauntingWidget.vue
@@ -75,6 +75,8 @@
:label="text.sort"
prepend-icon="fas fa-sort"
:placeholder="placeholder.sort"
+ :error="form.errors.sort[0]"
+ @input="form.errors.sort[0] = ''"
inputGroupClasses="input-group-merge">
@@ -220,6 +222,7 @@ export default {
errors: {
name: [],
class: [],
+ sort: [],
}
},
display: this.show
@@ -258,7 +261,9 @@ export default {
}
if (response.errors) {
- self.form.errors = error.response.data.errors;
+ self.form.errors.name = (error.response.data.errors.name) ? error.response.data.errors.name : [];
+ self.form.errors.class = (error.response.data.errors.class) ? error.response.data.errors.class : [];
+ self.form.errors.sort = (error.response.data.errors.sort) ? error.response.data.errors.sort : [];
self.form.loading = false;
}
@@ -266,7 +271,9 @@ export default {
self.form.response = response.data;
})
.catch(function (error) {
- self.form.errors = error.response.data.errors;
+ self.form.errors.name = (error.response.data.errors.name) ? error.response.data.errors.name : [];
+ self.form.errors.class = (error.response.data.errors.class) ? error.response.data.errors.class : [];
+ self.form.errors.sort = (error.response.data.errors.sort) ? error.response.data.errors.sort : [];
self.form.loading = false;
});
diff --git a/resources/views/banking/accounts/index.blade.php b/resources/views/banking/accounts/index.blade.php
index 24df6f215..aaa38c65c 100644
--- a/resources/views/banking/accounts/index.blade.php
+++ b/resources/views/banking/accounts/index.blade.php
@@ -30,11 +30,11 @@
{{ Form::bulkActionAllGroup() }} |
- @sortablelink('name', trans('general.name'), ['filter' => 'active, visible'], ['class' => 'col-aka', 'rel' => 'nofollow']) |
- @sortablelink('number', trans('accounts.number')) |
- @sortablelink('opening_balance', trans('accounts.current_balance')) |
+ @sortablelink('name', trans('general.name'), ['filter' => 'active, visible'], ['rel' => 'nofollow']) |
+ @sortablelink('number', trans('accounts.number')) |
+ @sortablelink('opening_balance', trans('accounts.current_balance')) |
@sortablelink('enabled', trans('general.enabled')) |
- {{ trans('general.actions') }} |
+ {{ trans('general.actions') }} |
@@ -44,10 +44,10 @@
{{ Form::bulkActionGroup($item->id, $item->name) }}
|
- {{ $item->name }} |
- {{ $item->number }} |
- @money($item->balance, $item->currency_code, true) |
-
+ | {{ $item->name }} |
+ {{ $item->number }} |
+ @money($item->balance, $item->currency_code, true) |
+
@if (user()->can('update-banking-accounts'))
{{ Form::enabledGroup($item->id, $item->name, $item->enabled) }}
@else
diff --git a/resources/views/banking/reconciliations/index.blade.php b/resources/views/banking/reconciliations/index.blade.php
index e9e3e494f..a432d9583 100644
--- a/resources/views/banking/reconciliations/index.blade.php
+++ b/resources/views/banking/reconciliations/index.blade.php
@@ -45,7 +45,7 @@
|
{{ Form::bulkActionGroup($item->id, $item->account->name) }} |
@date($item->created_at) |
- {{ $item->account->name }} |
+ {{ $item->account->name }} |
@date($item->started_at) - @date($item->ended_at) |
@money($item->closing_balance, $item->account->currency_code, true) |
diff --git a/resources/views/banking/transactions/index.blade.php b/resources/views/banking/transactions/index.blade.php
index bc382a465..52b2558f7 100644
--- a/resources/views/banking/transactions/index.blade.php
+++ b/resources/views/banking/transactions/index.blade.php
@@ -56,7 +56,7 @@
| @money($item->amount, $item->currency_code, true) |
{{ $item->type_title }} |
{{ $item->category->name }} |
- {{ $item->account->name }} |
+ {{ $item->account->name }} |
{{ $item->description }} |
@endforeach
diff --git a/resources/views/banking/transfers/index.blade.php b/resources/views/banking/transfers/index.blade.php
index de69651de..e8b5f17b9 100644
--- a/resources/views/banking/transfers/index.blade.php
+++ b/resources/views/banking/transfers/index.blade.php
@@ -53,9 +53,9 @@
{{ Form::bulkActionGroup($item->id, $item->expense_transaction->account->name) }} |
@date($item->expense_transaction->paid_at) |
- {{ $item->expense_transaction->account->name }} |
- {{ $item->income_transaction->account->name }} |
- @money($item->expense_transaction->amount, $item->expense_transaction->currency_code, true) |
+ {{ $item->expense_transaction->account->name }} |
+ {{ $item->income_transaction->account->name }} |
+ @money($item->expense_transaction->amount, $item->expense_transaction->currency_code, true) |
|
{{ $item->category->name }} |
- {{ $item->account->name }} |
+ {{ $item->account->name }} |
diff --git a/resources/views/purchases/vendors/index.blade.php b/resources/views/purchases/vendors/index.blade.php
index 9b097506a..9ec55da7b 100644
--- a/resources/views/purchases/vendors/index.blade.php
+++ b/resources/views/purchases/vendors/index.blade.php
@@ -47,7 +47,7 @@
{{ Form::bulkActionGroup($item->id, $item->name) }}
|
-
+ |
{{ $item->name }}
|
diff --git a/resources/views/sales/customers/create.blade.php b/resources/views/sales/customers/create.blade.php
index 99da96eaa..6e95512fc 100644
--- a/resources/views/sales/customers/create.blade.php
+++ b/resources/views/sales/customers/create.blade.php
@@ -54,9 +54,9 @@
@stack('create_user_input_end')
- {{Form::passwordGroup('password', trans('auth.password.current'), 'key', [], 'col-md-6 password')}}
+ {{Form::passwordGroup('password', trans('auth.password.current'), 'key', ['required' => 'required'], 'col-md-6 password')}}
- {{Form::passwordGroup('password_confirmation', trans('auth.password.current_confirm'), 'key', [], 'col-md-6 password')}}
+ {{Form::passwordGroup('password_confirmation', trans('auth.password.current_confirm'), 'key', ['required' => 'required'], 'col-md-6 password')}}
diff --git a/resources/views/sales/customers/edit.blade.php b/resources/views/sales/customers/edit.blade.php
index fc30861e7..31a2a0254 100644
--- a/resources/views/sales/customers/edit.blade.php
+++ b/resources/views/sales/customers/edit.blade.php
@@ -64,9 +64,9 @@
@stack('create_user_input_end')
- {{Form::passwordGroup('password', trans('auth.password.current'), 'key', [], 'col-md-6 password')}}
+ {{Form::passwordGroup('password', trans('auth.password.current'), 'key', ['required' => 'required'], 'col-md-6 password')}}
- {{Form::passwordGroup('password_confirmation', trans('auth.password.current_confirm'), 'key', [], 'col-md-6 password')}}
+ {{Form::passwordGroup('password_confirmation', trans('auth.password.current_confirm'), 'key', ['required' => 'required'], 'col-md-6 password')}}
diff --git a/resources/views/sales/customers/index.blade.php b/resources/views/sales/customers/index.blade.php
index 097ef6b45..98fe0a7ba 100644
--- a/resources/views/sales/customers/index.blade.php
+++ b/resources/views/sales/customers/index.blade.php
@@ -47,7 +47,7 @@
|
{{ Form::bulkActionGroup($item->id, $item->name) }}
|
-
+ |
{{ $item->name }}
|
diff --git a/resources/views/sales/revenues/index.blade.php b/resources/views/sales/revenues/index.blade.php
index fa314d038..96761911d 100644
--- a/resources/views/sales/revenues/index.blade.php
+++ b/resources/views/sales/revenues/index.blade.php
@@ -78,7 +78,7 @@
@endif
|
{{ $item->category->name }} |
- {{ $item->account->name }} |
+ {{ $item->account->name }} |
diff --git a/routes/admin.php b/routes/admin.php
index a60fb0288..63863782f 100644
--- a/routes/admin.php
+++ b/routes/admin.php
@@ -88,7 +88,6 @@ Route::group(['prefix' => 'sales'], function () {
Route::get('customers/currency', 'Sales\Customers@currency');
Route::get('customers/{customer}/duplicate', 'Sales\Customers@duplicate')->name('customers.duplicate');
- Route::post('customers/field', 'Sales\Customers@field')->name('customers.field');
Route::post('customers/import', 'Sales\Customers@import')->name('customers.import');
Route::get('customers/export', 'Sales\Customers@export')->name('customers.export');
Route::get('customers/{customer}/enable', 'Sales\Customers@enable')->name('customers.enable');
diff --git a/tests/Feature/Common/DashboardsTest.php b/tests/Feature/Common/DashboardsTest.php
index 6e29f7b69..d75b4141e 100644
--- a/tests/Feature/Common/DashboardsTest.php
+++ b/tests/Feature/Common/DashboardsTest.php
@@ -2,9 +2,10 @@
namespace Tests\Feature\Common;
-use App\Jobs\Common\CreateDashboard;
+use App\Models\Common\Widget;
use App\Models\Common\Dashboard;
use Tests\Feature\FeatureTestCase;
+use App\Jobs\Common\CreateDashboard;
class DashboardsTest extends FeatureTestCase
{
@@ -12,7 +13,7 @@ class DashboardsTest extends FeatureTestCase
{
$this->loginAs()
->get(route('dashboard'))
- ->assertStatus(200)
+ ->assertOk()
->assertSeeText(trans_choice('general.dashboards', 1));
}
@@ -20,7 +21,7 @@ class DashboardsTest extends FeatureTestCase
{
$this->loginAs()
->get(route('dashboards.index'))
- ->assertStatus(200)
+ ->assertOk()
->assertSeeText(trans_choice('general.dashboards', 2));
}
@@ -28,7 +29,7 @@ class DashboardsTest extends FeatureTestCase
{
$this->loginAs()
->get(route('dashboards.create'))
- ->assertStatus(200)
+ ->assertOk()
->assertSeeText(trans('general.title.new', ['type' => trans_choice('general.dashboards', 1)]));
}
@@ -38,7 +39,7 @@ class DashboardsTest extends FeatureTestCase
$this->loginAs()
->post(route('dashboards.store'), $request)
- ->assertStatus(200);
+ ->assertOk();
$this->assertFlashLevel('success');
@@ -53,7 +54,7 @@ class DashboardsTest extends FeatureTestCase
$this->loginAs()
->get(route('dashboards.edit', $dashboard->id))
- ->assertStatus(200)
+ ->assertOk()
->assertSee($dashboard->name);
}
@@ -67,7 +68,7 @@ class DashboardsTest extends FeatureTestCase
$this->loginAs()
->patch(route('dashboards.update', $dashboard->id), $request)
- ->assertStatus(200)
+ ->assertOk()
->assertSee($request['name']);
$this->assertFlashLevel('success');
@@ -84,18 +85,83 @@ class DashboardsTest extends FeatureTestCase
$this->loginAs()
->delete(route('dashboards.destroy', $dashboard->id))
- ->assertStatus(200);
+ ->assertOk();
$this->assertFlashLevel('success');
$this->assertSoftDeleted('dashboards', $this->getAssertRequest($request));
}
+ public function testItShouldSeeWidgetCreate()
+ {
+ $classes = Widget::factory()->classes;
+ $class = $classes[rand(0, 9)];
+
+ $this->loginAs()
+ ->get(route('widgets.index'))
+ ->assertOk()
+ ->assertSeeText((new $class())->getDefaultName());
+ }
+
+ public function testItShouldSeeWidgetEdit()
+ {
+ $widget = Widget::create($this->getWidget());
+
+ $this->loginAs()
+ ->get(route('widgets.edit', $widget->id))
+ ->assertOk()
+ ->assertSee($widget->name);
+ }
+
+ public function testItShouldCreateWidget()
+ {
+ $request = $this->getWidget();
+
+ $this->loginAs()
+ ->post(route('widgets.store'), $request)
+ ->assertOk();
+
+ $this->assertDatabaseHas('widgets', $this->getAssertRequest($request));
+ }
+
+ public function testItShouldUpdateWidget()
+ {
+ $request = $this->getWidget();
+
+ $widget = Widget::create($request);
+
+ $request['name'] = $this->faker->name;
+
+ $this->loginAs()
+ ->patch(route('widgets.update', $widget->id), $request)
+ ->assertOk();
+
+ $this->assertDatabaseHas('widgets', $this->getAssertRequest($request));
+ }
+
+ public function testItShouldDeleteWidget()
+ {
+ $request = $this->getWidget();
+
+ $widget = Widget::create($request);
+
+ $this->loginAs()
+ ->delete(route('widgets.destroy', $widget->id))
+ ->assertOk();
+
+ $this->assertSoftDeleted('widgets', $this->getAssertRequest($request));
+ }
+
public function getRequest()
{
return Dashboard::factory()->enabled()->users()->raw();
}
+ public function getWidget()
+ {
+ return Widget::factory()->raw();
+ }
+
public function getAssertRequest($request)
{
unset($request['users']);
| |