Skip to content

Commit 187483d

Browse files
committed
Members list with management options visible only
1 parent c7b0183 commit 187483d

8 files changed

Lines changed: 281 additions & 20 deletions

File tree

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?php
2+
3+
namespace PanicHD\PanicHD\Controllers;
4+
5+
use App\Http\Controllers\Controller;
6+
use Illuminate\Http\Request;
7+
use PanicHD\PanicHD\Models;
8+
9+
10+
class MembersController extends Controller
11+
{
12+
/**
13+
* Display a listing of the resource.
14+
*
15+
* @return Response
16+
*/
17+
public function index(Request $request)
18+
{
19+
$a_members = Models\Member::orderBy('name')->get();
20+
21+
return view('panichd::admin.member.index', compact('a_members'));
22+
}
23+
}

src/Translations/ca/admin.php

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,15 @@
77
*/
88
'nav-settings' => 'Paràmetres',
99
'nav-agents' => 'Agents',
10+
'nav-categories' => 'Categories',
11+
'nav-configuration' => 'Configuració',
1012
'nav-dashboard' => 'Panell admin.',
1113
'nav-dashboard-title' => 'Panell d\'administrador',
12-
'nav-categories' => 'Categories',
14+
'nav-members' => 'Membres',
15+
'nav-notices' => 'Avisos',
1316
'nav-priorities' => 'Prioritats',
17+
'nav-settings' => 'Paràmetres',
1418
'nav-statuses' => 'Estats',
15-
'nav-notices' => 'Avisos',
16-
'nav-configuration' => 'Configuració',
17-
'nav-administrator' => 'Administrador',
1819

1920
'table-hash' => '#',
2021
'table-id' => 'Id',
@@ -23,6 +24,7 @@
2324
'table-action' => 'Acció',
2425
'table-categories' => 'Categories',
2526
'table-categories-autoasg-title'=> 'Assignació automàtica de nous tiquets',
27+
'table-email' => 'E-mail',
2628
'table-magnitude' => 'Magnitud',
2729
'table-num-tickets' => 'Núm. tiquets',
2830
'table-remove-agent' => 'Excloure d\'agents',
@@ -34,6 +36,7 @@
3436
'table-lang' => 'Idioma',
3537
'table-edit' => 'Editar',
3638

39+
'btn-add-new' => 'Afegir nou',
3740
'btn-back' => 'Endarrere',
3841
'btn-change' => 'Canviar',
3942
'btn-create' => 'Crear',
@@ -45,6 +48,7 @@
4548
'btn-save' => 'Desar',
4649
'btn-update' => 'Actualitzar',
4750

51+
// Vocabulary
4852
'colon' => ': ',
4953

5054
/* Access Levels */
@@ -156,6 +160,16 @@
156160
'category-edit-tag-background' => 'Fons',
157161
'category-edit-tag-text' => 'Text',
158162

163+
// $admin_route_path/member/____
164+
'member-index-title' => 'Gestió d\'usuaris Membres',
165+
'member-index-help' => 'Els membres son tots els usuaris registrats a la base de dades. L\'administrador d\'aquest lloc web pot haver filtrat la llista',
166+
'member-index-empty' => 'No s\'ha trobat usuaris registrats. Si us plau, revisa si hi ha algun error a la vista de la base de dades "panichd_members"',
167+
'member-modal-update-title' => 'Actualitzar usuari membre',
168+
'member-modal-create-title' => 'Crear usuari membre',
169+
'member-delete-confirmation' => 'Estàs segur que vols eliminar l\'usuari de la base de dades?',
170+
'member-password-label' => 'Contrasenya',
171+
'member-password-repeat-label' => 'Repetir contrasenya',
172+
159173
// $admin_route_path/priority/____
160174
'priority-index-title' => 'Gestió de prioritats',
161175
'priority-index-help' => 'Pots canviar l\'ordre de les prioritats arrosegant les files d\'aquesta taula. Aquest ordre s\'utilitzarà també a la llista de tiquets quan es seleccioni',

src/Translations/ca/lang.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,12 +137,14 @@
137137
'dept_sub1' => 'Area',
138138
'description' => 'Descripció',
139139
'discard' => 'Descartar',
140+
'email' => 'E-mail',
140141
'email-resend-abbr' => 'RV',
141142
'flash-x' => '×', // &times;
142143
'intervention' => 'Actuació',
143144
'last-update' => 'Última actualització',
144145
'limit-date' => 'Data límit',
145146
'list' => 'Llista',
147+
'name' => 'Nom',
146148
'no' => 'No',
147149
'no-replies' => 'Sense respostes.',
148150
'owner' => 'Propietari',

src/Translations/en/admin.php

Lines changed: 31 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,15 @@
77
*/
88
'nav-settings' => 'Settings',
99
'nav-agents' => 'Agents',
10+
'nav-categories' => 'Categories',
11+
'nav-configuration' => 'Configuration',
1012
'nav-dashboard' => 'Dashboard',
1113
'nav-dashboard-title' => 'Administrator dashboard',
12-
'nav-categories' => 'Categories',
14+
'nav-members' => 'Members',
15+
'nav-notices' => 'Notices',
1316
'nav-priorities' => 'Priorities',
17+
'nav-settings' => 'Settings',
1418
'nav-statuses' => 'Statuses',
15-
'nav-notices' => 'Notices',
16-
'nav-configuration' => 'Configuration',
17-
'nav-administrator' => 'Administrator', //new
1819

1920
'table-hash' => '#',
2021
'table-id' => 'ID',
@@ -23,6 +24,7 @@
2324
'table-action' => 'Action',
2425
'table-categories' => 'Categories',
2526
'table-categories-autoasg-title'=> 'New tickets automatic assignment',
27+
'table-email' => 'E-mail',
2628
'table-magnitude' => 'Magnitude',
2729
'table-num-tickets' => 'Tickets count',
2830
'table-remove-agent' => 'Remove from agents',
@@ -34,6 +36,7 @@
3436
'table-lang' => 'Lang',
3537
'table-edit' => 'Edit',
3638

39+
'btn-add-new' => 'Add new one',
3740
'btn-back' => 'Back',
3841
'btn-change' => 'Change',
3942
'btn-create' => 'Create',
@@ -44,7 +47,8 @@
4447
'btn-submit' => 'Submit',
4548
'btn-save' => 'Save',
4649
'btn-update' => 'Update',
47-
50+
51+
// Vocabulary
4852
'colon' => ': ',
4953

5054
/* Access Levels */
@@ -73,8 +77,8 @@
7377
'index-category' => 'Category',
7478
'index-agents' => 'Agents',
7579
'index-agent' => 'Agent',
76-
'index-administrators' => 'Administrators', //new
77-
'index-administrator' => 'Administrator', //new
80+
'index-administrators' => 'Administrators',
81+
'index-administrator' => 'Administrator',
7882
'index-users' => 'Users',
7983
'index-user' => 'User',
8084
'index-tickets' => 'Tickets',
@@ -87,7 +91,7 @@
8791
'index-agents-chart' => 'Tickets distribution per Agent',
8892

8993
// $admin_route_path/agent/____
90-
'agent-index-title' => 'Agent Management',
94+
'agent-index-title' => 'Agents Management',
9195
'agent-index-no-agents' => 'There are no agents',
9296
'agent-index-create-new' => 'Add agent',
9397
'agent-create-form-agent' => 'User',
@@ -107,14 +111,14 @@
107111

108112

109113
// $admin_route_path/administrators/____
110-
'administrator-index-title' => 'Administrator Management', //new
111-
'btn-create-new-administrator' => 'Create new administrator', //new
112-
'administrator-index-no-administrators' => 'There are no administrators, ', //new
113-
'administrator-index-create-new' => 'Add administrators', //new
114-
'administrator-create-title' => 'Add Administrator', //new
115-
'administrator-create-add-administrators' => 'Add Administrators', //new
116-
'administrator-create-no-users' => 'There are no user accounts, create user accounts first.', //new
117-
'administrator-create-select-user' => 'Select user accounts to be added as administrators', //new
114+
'administrator-index-title' => 'Administrators Management',
115+
'btn-create-new-administrator' => 'Create new administrator',
116+
'administrator-index-no-administrators' => 'There are no administrators, ',
117+
'administrator-index-create-new' => 'Add administrators',
118+
'administrator-create-title' => 'Add Administrator',
119+
'administrator-create-add-administrators' => 'Add Administrators',
120+
'administrator-create-no-users' => 'There are no user accounts, create user accounts first.',
121+
'administrator-create-select-user' => 'Select user accounts to be added as administrators',
118122

119123
// $admin_route_path/category/____
120124
'category-index-title' => 'Categories Management',
@@ -157,6 +161,17 @@
157161
'category-edit-tag-background' => 'Background',
158162
'category-edit-tag-text' => 'Text',
159163

164+
// $admin_route_path/member/____
165+
'member-index-title' => 'Member users management',
166+
'member-index-help' => 'Members are all registered users in database. This website administrator may have filtered the list',
167+
'member-index-empty' => 'No registered members were found. Please, check if there is any error in database "panichd_members" view',
168+
'member-modal-update-title' => 'Update member user',
169+
'member-modal-create-title' => 'Create member user',
170+
'member-delete-confirmation' => 'Are you sure you want to delete this user from database?',
171+
'member-password-label' => 'Password',
172+
'member-password-repeat-label' => 'Repeat password',
173+
174+
160175
// $admin_route_path/priority/____
161176
'priority-index-title' => 'Priorities Management',
162177
'priority-index-help' => 'You may change priority order dragging this table rows. This order will be used also in ticket list when checking this field',

src/Translations/en/lang.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,12 +138,14 @@
138138
'dept_sub1' => 'Subdepartment',
139139
'description' => 'Description',
140140
'discard' => 'Discard',
141+
'email' => 'E-mail',
141142
'email-resend-abbr' => 'FW',
142143
'flash-x' => '×', // &times;
143144
'intervention' => 'Intervention',
144145
'last-update' => 'Last Update',
145146
'limit-date' => 'Limit date',
146147
'list' => 'List',
148+
'name' => 'Name',
147149
'no' => 'No',
148150
'no-replies' => 'No replies.',
149151
'owner' => 'Owner',
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
@extends($master)
2+
3+
@section('page')
4+
{{ trans('panichd::admin.config-index-title') }}
5+
@stop
6+
7+
@include('panichd::shared.common')
8+
9+
@section('content')
10+
<div class="panel panel-default">
11+
<div class="panel-heading">
12+
<h3>{{ trans('panichd::admin.member-index-title') }}
13+
<div class="panel-nav pull-right" style="margin-top: -7px;">
14+
<button type="button" class="btn btn-default btn_member_modal" data-route="create">{{ trans('panichd::admin.btn-add-new') }}</button>
15+
</div>
16+
</h3>
17+
</div>
18+
<div class="panel-body">
19+
@if (!session()->exists('status'))
20+
<div class="alert alert-info alert-dismissable fade in">
21+
<button type="button" class="close" data-dismiss="alert">×</button>
22+
<span class="glyphicon glyphicon-info-sign" style="color: #7ED5EC;"></span> {!! trans('panichd::admin.member-index-help') !!}
23+
</div>
24+
@endif
25+
@if(!$a_members)
26+
<div class="well text-center">{{ trans('panichd::admin.member-index-empty') }}</div>
27+
@else
28+
<div id="message"></div>
29+
<table id="dataTable" class="table table-hover table-striped">
30+
<thead>
31+
<tr>
32+
<td>{{ trans('panichd::admin.table-name') }}</td>
33+
<td>{{ trans('panichd::admin.table-email') }}</td>
34+
<td>{{ trans('panichd::admin.table-action') }}</td>
35+
</tr>
36+
</thead>
37+
<tbody>
38+
@foreach($a_members as $member)
39+
<tr>
40+
<td>{{ $member->name }}</td>
41+
<td>{{ $member->email }}</td>
42+
<td>
43+
<button type="button" class="btn btn-default btn_member_modal" data-member_id="{{ $member->id }}" data-member_name="{{ $member->name }}" data-member_email="{{ $member->email }}" data-route="update" data-form_action="{{ route($setting->grab('admin_route').'.member.update', ['id' => $member->id ]) }}">{{ trans('panichd::admin.btn-edit') }}</button>
44+
{!! link_to_route(
45+
$setting->grab('admin_route').'.member.destroy', trans('panichd::admin.btn-delete'), $member->id,
46+
[
47+
'class' => 'btn btn-default deleteit',
48+
'form' => "delete-$member->id",
49+
"user" => $member->name
50+
])
51+
!!}
52+
{!! CollectiveForm::open([
53+
'method' => 'DELETE',
54+
'route' => [
55+
$setting->grab('admin_route').'.member.destroy',
56+
$member->id
57+
],
58+
'id' => "delete-$member->id"
59+
])
60+
!!}
61+
{!! CollectiveForm::close() !!}
62+
</td>
63+
</tr>
64+
@endforeach
65+
</tbody>
66+
</table>
67+
@endif
68+
</div>
69+
</div>
70+
@include('panichd::admin.member.modal')
71+
@stop
72+
@section('footer')
73+
<script>
74+
$(function(){
75+
$('.btn_member_modal').click(function(e){
76+
77+
if ( $(this).data('route') == 'update'){
78+
// Form
79+
$('#MemberModal form').prop('action',$(this).data('form_action'));
80+
$("#MemberModal input[name='_method']").first().val('PATCH');
81+
82+
// Title
83+
$("#MemberModal .modal-title").text("{{ trans('panichd::admin.member-modal-update-title') }}");
84+
85+
// Input
86+
$("#MemberModal #id_input").val();
87+
$("#MemberModal #name_input").val($(this).data('member_name'));
88+
$("#MemberModal #email_input").val($(this).data('member_email'));
89+
90+
$('#password_input, #password_confirmation_input').closest('div.form-group').hide();
91+
92+
}else{
93+
// Form action
94+
$('#MemberModal form').prop('action',$('#MemberModal form').data('route-create'));
95+
$("#MemberModal input[name='_method']").first().val('POST');
96+
97+
// Title
98+
$("#MemberModal .modal-title").text("{{ trans('panichd::admin.member-modal-create-title') }}");
99+
100+
// Input
101+
$("#MemberModal #id_input, #MemberModal #name_input, #MemberModal #email_input").val('');
102+
$('#password_input, #password_confirmation_input').val('').closest('div.form-group').show();
103+
}
104+
105+
$('#MemberModal').modal('show');
106+
107+
e.preventDefault();
108+
});
109+
110+
111+
$( ".deleteit" ).click(function( event ) {
112+
event.preventDefault();
113+
if (confirm("{{ trans('panichd::admin.member-delete-confirmation') }} "))
114+
{
115+
var form = $(this).attr("form");
116+
$("#" + form).submit();
117+
}
118+
119+
});
120+
});
121+
122+
</script>
123+
@append

0 commit comments

Comments
 (0)