Skip to content

Commit e85314c

Browse files
Merge pull request #2255 from suraj-webkul/issue#2238
issue #2238 has been fixed.
2 parents bbe77d6 + 8030c44 commit e85314c

File tree

2 files changed

+52
-31
lines changed

2 files changed

+52
-31
lines changed

packages/Webkul/Admin/src/Resources/views/components/layouts/header/quick-creation.blade.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@
128128
<!-- Link to create new User-->
129129
@if (bouncer()->hasPermission('settings.user.users.create'))
130130
<div class="rounded-lg bg-white p-2 hover:bg-gray-100 dark:bg-gray-800 dark:hover:bg-gray-950">
131-
<a href="{{ route('admin.settings.users.index') }}">
131+
<a href="{{ route('admin.settings.users.index', ['action' => 'create']) }}">
132132
<div class="flex flex-col gap-1">
133133
<i class="icon-user text-2xl text-gray-600"></i>
134134

@@ -142,4 +142,4 @@
142142
</x-slot>
143143
</x-admin::dropdown>
144144
@endif
145-
</div>
145+
</div>

packages/Webkul/Admin/src/Resources/views/settings/users/index.blade.php

Lines changed: 50 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
<div class="flex items-center gap-x-2.5">
1818
{!! view_render_event('admin.settings.users.index.create_button.before') !!}
19-
19+
2020
<!-- Create button for User -->
2121
@if (bouncer()->hasPermission('settings.user.users.create'))
2222
<div class="flex items-center gap-x-2.5">
@@ -46,7 +46,7 @@ class="primary-button"
4646
id="users-settings-template"
4747
>
4848
{!! view_render_event('admin.settings.users.index.datagrid.before') !!}
49-
49+
5050
<!-- Datagrid -->
5151
<x-admin::datagrid
5252
:src="route('admin.settings.users.index')"
@@ -63,7 +63,7 @@ class="primary-button"
6363
<template v-if="isLoading">
6464
<x-admin::shimmer.datagrid.table.body />
6565
</template>
66-
66+
6767
<template v-else>
6868
<div
6969
v-for="record in available.records"
@@ -86,10 +86,10 @@ class="icon-checkbox-outline peer-checked:icon-checkbox-select cursor-pointer ro
8686
:for="`mass_action_select_record_${record.id}`"
8787
></label>
8888
</div>
89-
89+
9090
<!-- Users Id -->
9191
<p>@{{ record.id }}</p>
92-
92+
9393
<!-- Users Name and Profile -->
9494
<div class="flex items-center gap-2.5">
9595
<template v-if="record.name.image">
@@ -118,7 +118,7 @@ class="flex h-9 w-9 items-center justify-center rounded-full"
118118
>
119119
@{{ record.status == 1 ? '@lang('admin::app.settings.users.index.active')' : '@lang('admin::app.settings.users.index.inactive')' }}
120120
</span>
121-
121+
122122
<!-- Users Creation Date -->
123123
<p>@{{ record.created_at }}</p>
124124
@@ -131,7 +131,7 @@ class="cursor-pointer rounded-md p-1.5 text-2xl transition-all hover:bg-gray-200
131131
>
132132
</span>
133133
</a>
134-
134+
135135
<a @click="performAction(record.actions.find(action => action.index === 'delete'))">
136136
<span
137137
:class="record.actions.find(action => action.index === 'delete')?.icon"
@@ -160,7 +160,7 @@ class="hidden border-b px-4 py-4 text-black dark:border-gray-800 dark:text-gray-
160160
class="peer hidden"
161161
v-model="applied.massActions.indices"
162162
>
163-
163+
164164
<span class="icon-checkbox-outline peer-checked:icon-checkbox-select cursor-pointer rounded-md text-2xl text-gray-500 peer-checked:text-brandColor">
165165
</span>
166166
</label>
@@ -179,7 +179,7 @@ class="cursor-pointer rounded-md p-1.5 text-2xl transition-all hover:bg-gray-200
179179
>
180180
</span>
181181
</a>
182-
182+
183183
<a @click="performAction(record.actions.find(action => action.index === 'delete'))">
184184
<span
185185
:class="record.actions.find(action => action.index === 'delete')?.icon"
@@ -204,28 +204,31 @@ class="cursor-pointer rounded-md p-1.5 text-2xl transition-all hover:bg-gray-200
204204
</template>
205205
</template>
206206
</x-admin::datagrid>
207-
207+
208208
{!! view_render_event('admin.users.index.datagrid.after') !!}
209-
209+
210210
<x-admin::form
211211
v-slot="{ meta, values, errors, handleSubmit }"
212212
as="div"
213213
ref="modalForm"
214214
>
215-
<form
215+
<form
216216
@submit="handleSubmit($event, updateOrCreate)"
217217
ref="userForm"
218218
>
219219
{!! view_render_event('admin.settings.users.index.form_controls.before') !!}
220220
221-
<x-admin::modal ref="userUpdateAndCreateModal">
221+
<x-admin::modal
222+
ref="userUpdateAndCreateModal"
223+
@toggle="handleToggle"
224+
>
222225
<!-- Modal Header -->
223226
<x-slot:header>
224227
<p class="text-lg font-bold text-gray-800 dark:text-white">
225-
@{{
228+
@{{
226229
selectedType == 'create'
227230
? "@lang('admin::app.settings.users.index.create.title')"
228-
: "@lang('admin::app.settings.users.index.edit.title')"
231+
: "@lang('admin::app.settings.users.index.edit.title')"
229232
}}
230233
</p>
231234
</x-slot>
@@ -328,7 +331,7 @@ class="cursor-pointer rounded-md p-1.5 text-2xl transition-all hover:bg-gray-200
328331
{!! view_render_event('admin.settings.users.index.form.password.after') !!}
329332
330333
{!! view_render_event('admin.settings.users.index.form.role_id.before') !!}
331-
334+
332335
<div class="flex gap-4">
333336
<!-- Role -->
334337
<x-admin::form.control-group class="flex-1">
@@ -347,11 +350,11 @@ class="cursor-pointer rounded-md p-1.5 text-2xl transition-all hover:bg-gray-200
347350
v-for="role in roles"
348351
:key="role.id"
349352
:value="role.id"
350-
>
351-
@{{ role.name }}
353+
>
354+
@{{ role.name }}
352355
</option>
353356
</x-admin::form.control-group.control>
354-
357+
355358
<x-admin::form.control-group.error control-name="role_id" />
356359
</x-admin::form.control-group>
357360
@@ -372,7 +375,7 @@ class="cursor-pointer rounded-md p-1.5 text-2xl transition-all hover:bg-gray-200
372375
<option value="global" selected>
373376
@lang('admin::app.settings.users.index.create.global')
374377
</option>
375-
378+
376379
<option value="group">
377380
@lang('admin::app.settings.users.index.create.group')
378381
</option>
@@ -446,7 +449,7 @@ class="flex min-h-[39px] w-full rounded-md border px-3 py-2 text-sm text-gray-60
446449
::checked="parseInt(user.status || 0)"
447450
/>
448451
</x-admin::form.control-group>
449-
452+
450453
{!! view_render_event('admin.settings.users.index.form.status.after') !!}
451454
</x-slot>
452455
@@ -475,7 +478,7 @@ class="primary-button justify-center"
475478
<script type="module">
476479
app.component('v-users-settings', {
477480
template: '#users-settings-template',
478-
481+
479482
data() {
480483
return {
481484
isProcessing: false,
@@ -491,32 +494,50 @@ class="primary-button justify-center"
491494
computed: {
492495
gridsCount() {
493496
let count = this.$refs.datagrid.available.columns.length;
494-
497+
495498
if (this.$refs.datagrid.available.actions.length) {
496499
++count;
497500
}
498-
501+
499502
if (this.$refs.datagrid.available.massActions.length) {
500503
++count;
501504
}
502-
505+
503506
return count;
504507
},
505508
506509
selectedType() {
507510
return this.user.id ? 'edit' : 'create';
508511
},
509512
},
510-
513+
514+
mounted() {
515+
@if(request('action') === 'create')
516+
this.openModal();
517+
@endif
518+
},
519+
511520
methods: {
521+
handleToggle(state) {
522+
if (state.isActive) {
523+
return;
524+
}
525+
526+
const url = new URL(window.location.href);
527+
528+
url.searchParams.delete('action');
529+
530+
window.history.replaceState({}, '', url);
531+
},
532+
512533
openModal() {
513534
this.user = {
514535
groups: [],
515536
};
516537
517538
this.$refs.userUpdateAndCreateModal.toggle();
518539
},
519-
540+
520541
updateOrCreate(params, {resetForm, setErrors}) {
521542
const userForm = new FormData(this.$refs.userForm);
522543
@@ -542,10 +563,10 @@ class="primary-button justify-center"
542563
}
543564
});
544565
},
545-
566+
546567
editModal(url) {
547568
this.$axios.get(url)
548-
.then(response => {
569+
.then(response => {
549570
this.user = response.data.data;
550571
551572
this.user.groups = this.user.groups.map(group => group.id);

0 commit comments

Comments
 (0)