Changeset d795fa6 for resources


Ignore:
Timestamp:
10/17/21 18:39:50 (3 years ago)
Author:
Berat Kjufliju <kufliju@…>
Branches:
develop, master
Children:
bd9e8e3
Parents:
120759b
Message:

added validation to blades

Location:
resources/views
Files:
2 deleted
10 edited

Legend:

Unmodified
Added
Removed
  • resources/views/dashboard/departments/create.blade.php

    r120759b rd795fa6  
    11@extends('layouts.app')
    22
    3 @section("title", "Departments - Create new")
     3@section("title", "Departments - Create department")
    44
    55@section('pageTitle', 'Create department')
     
    2828                                <div class="card-body">
    2929                                    <h6 class="card-title">New department</h6>
    30                                     <form action="{{ route("dashboard.departments.store") }}" method="post" accept-charset="utf-8">
     30                                    <form action="{{ route("dashboard.departments.store") }}" method="post" accept-charset="utf-8" class="needs-validation" novalidate>
    3131                                        @csrf
    3232                                        <div class="row">
     
    3434                                                <div class="form-group">
    3535                                                    <label>Name</label>
    36                                                     <input type="text" name="name" value="{{ old('name') }}" class="form-control" placeholder="Name" required>
     36                                                    <input type="text" name="name" value="{{ old('name') }}" minlength="2" maxlength="30" class="form-control" placeholder="Name" required>
     37                                                    <div class="invalid-feedback">
     38                                                        Please enter characters with length between [2, 30]
     39                                                    </div>
    3740                                                </div>
    3841                                            </div>
     
    4043                                                <div class="form-group">
    4144                                                    <label>Code</label>
    42                                                     <input type="text" name="code" value="{{ old('code') }}" class="form-control" placeholder="Code" required>
     45                                                    <input type="text" name="code" value="{{ old('code') }}" minlength="2" maxlength="30" class="form-control" placeholder="Code" required>
     46                                                    <div class="invalid-feedback">
     47                                                        Please enter characters with length between [2, 30]
     48                                                    </div>
    4349                                                </div>
    4450                                            </div>
  • resources/views/dashboard/departments/edit.blade.php

    r120759b rd795fa6  
    2828                                <div class="card-body">
    2929                                    <h6 class="card-title">Departmnets</h6>
    30                                     <form action="{{ route("dashboard.departments.edit", ["id" =>$department->id]) }}" method="post" accept-charset="utf-8">
     30                                    <form action="{{ route("dashboard.departments.edit", ["id" =>$department->id]) }}" method="post" accept-charset="utf-8" class="needs-validation" novalidate>
    3131                                        @method("patch")
    3232                                        @csrf
     
    3535                                                <div class="form-group">
    3636                                                    <label class="form-label">Name</label>
    37                                                     <input type="text" name="name" value="{{ $department->name }}" class="form-control" placeholder="Name" required>
     37                                                    <input type="text" name="name" value="{{ $department->name }}" minlength="2" maxlength="30" class="form-control" placeholder="Name" required>
     38                                                    <div class="invalid-feedback">
     39                                                        Please enter characters with length between [2, 30]
     40                                                    </div>
    3841                                                </div>
    3942                                            </div>
     
    4144                                                <div class="form-group">
    4245                                                    <label class="form-label">Code</label>
    43                                                     <input type="text" name="code" value="{{ $department->code }}" class="form-control" placeholder="Code" required>
     46                                                    <input type="text" name="code" value="{{ $department->code }}" minlength="2" maxlength="30" class="form-control" placeholder="Code" required>
     47                                                    <div class="invalid-feedback">
     48                                                        Please enter characters with length between [2, 30]
     49                                                    </div>
    4450                                                </div>
    4551                                            </div>
  • resources/views/dashboard/departments/index.blade.php

    r120759b rd795fa6  
    11@extends('layouts.app')
    22
    3 @section("title", "Departments")
     3@section("title", "SaveSpace - Departments")
    44
    5 @section('pageTitle', 'Department List')
     5@section('pageTitle', 'Departments')
    66
    77@section('head')
     
    7777                                            <i class="ti-pencil"></i>
    7878                                        </a>
    79                                         <a href="javascript:void(0)" class="text-danger ml-2" data-action="{{ route("dashboard.categories.destroy", ["id" => $category->id]) }}" data-target="#deleteModal" data-toggle="modal" title="Delete">
     79                                        <a href="javascript:void(0)" class="text-danger ml-2" data-toggle="modal" data-target="#deleteModal_{{$department->id}}" title="Delete">
    8080                                            <i class="ti-trash"></i>
    8181                                        </a>
    8282                                    </td>
    8383                                </tr>
     84                                <div class="modal fade" id="deleteModal_{{$department->id}}" tabindex="-1" role="dialog" aria-hidden="true">
     85                                    <div class="modal-dialog modal-dialog-centered" role="document">
     86                                        <div class="modal-content">
     87                                            <div class="modal-header">
     88                                                <h5 class="modal-title" id="exampleModalCenterTitle">Delete confirmation</h5>
     89                                                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
     90                                                    <i class="ti-close"></i>
     91                                                </button>
     92                                            </div>
     93                                            <div class="modal-body">
     94                                                <form action="{{ route("dashboard.departments.destroy", $department->id) }}" method="POST">
     95                                                    @csrf
     96                                                    @method('DELETE')
     97                                                    <p>Are you sure you want to delete department {{$department->name}} with code: {{$department->code}}?</p>
     98                                                    <p>Number of documents associated: {{$department->document()->count()}}</p>
     99                                                    <div class="modal-footer">
     100                                                        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close
     101                                                        </button>
     102                                                        <button type="submit" class="btn btn-primary">Save changes</button>
     103                                                    </div>
     104                                                </form>
     105                                            </div>
     106
     107                                        </div>
     108                                    </div>
     109                                </div>
    84110                            @endforeach
    85111                            </tbody>
    86112                        </table>
    87113
    88                         <div class="modal fade" id="deleteModal" tabindex="-1" role="dialog" aria-hidden="true">
    89                             <div class="modal-dialog modal-dialog-centered" role="document">
    90                                 <div class="modal-content">
    91                                     <div class="modal-header">
    92                                         <h5 class="modal-title" id="exampleModalCenterTitle">Delete confirmation</h5>
    93                                         <button type="button" class="close" data-dismiss="modal" aria-label="Close">
    94                                             <i class="ti-close"></i>
    95                                         </button>
    96                                     </div>
    97                                     <div class="modal-body">
    98                                         <form action="{{ route('dashboard.departments.destroy', 'id') }}" method="post">
    99                                             @csrf
    100                                             @method('DELETE')
    101                                             <input id="id" name="id" hidden value="">
    102                                             <p>Are you sure you want to delete department <b>{{$department->name}}</b> with code <b>{{$department->code}}?</b></p>
    103                                             <div class="modal-footer">
    104                                                 <button type="button" class="btn btn-secondary" data-dismiss="modal">Close
    105                                                 </button>
    106                                                 <button type="submit" class="btn btn-danger">Save changes</button>
    107                                             </div>
    108                                         </form>
    109                                     </div>
    110114
    111                                 </div>
    112                             </div>
    113                         </div>
    114115
    115116                    </div>
     
    127128
    128129    <script>
    129         $(document).on('click','.delete',function(){
    130             let id = $(this).attr('data-action');
    131             $('#id').val(id);
     130        $('#deleteModal').on('show.bs.modal', function (event) {
     131            var button = $(event.relatedTarget)
     132            var dep_id = button.data('deptId')
     133            var modal = $(this)
     134
     135            modal.find('.modal-body #dept_id').val(dep_id);
    132136        });
    133137    </script>
  • resources/views/dashboard/documents/fragments/filters.blade.php

    r120759b rd795fa6  
    1 <div class="app-action">
    2     <div class="action-left">
    3         <ul class="list-inline">
    4             <li class="list-inline-item mb-0">
    5                 <a href="#" class="btn btn-outline-light dropdown-toggle" data-toggle="dropdown">
    6                     <i data-feather="plus" class="mr-1"></i>
    7                     Add
    8                 </a>
    9                 <div class="dropdown-menu">
    10                     <a class="dropdown-item" href="{{route("dashboard.departments.create")}}">Department</a>
    11                     <a class="dropdown-item" href="{{route("dashboard.documents.create")}}">Document</a>
    12                 </div>
    13             </li>
    14             <li class="list-inline-item mb-0">
    15                 <a href="#" class="btn btn-outline-light dropdown-toggle" data-toggle="dropdown">Departments</a>
    16                 <div class="dropdown-menu">
    17                     @foreach($departments as $department)
    18                         <a class="dropdown-item d-flex justify-content-between m-5" href="{{ route("dashboard.documents.getDocumentsInDepartment", ["id" => $department->id]) }}">
    19                             {{$department->name}}
    20                             <span class="text-muted">{{$department->document->count()}}</span>
    21                         </a>
    22                     @endforeach
    23                 </div>
    24             </li>
    25             <li class="list-inline-item mb-0">
    26                 <a href="#" class="btn btn-outline-light dropdown-toggle" data-toggle="dropdown">
    27                     Order by
    28                 </a>
    29                 <div class="dropdown-menu">
    30                     <a class="dropdown-item" href="#">Date</a>
    31                     <a class="dropdown-item" href="#">Name</a>
    32                     <a class="dropdown-item" href="#">Size</a>
    33                 </div>
    34             </li>
    35         </ul>
    36     </div>
    37     <div class="action-right">
    38         <form class="d-flex mr-3">
    39             <a href="#" class="app-sidebar-menu-button btn btn-outline-light">
    40                 <i data-feather="menu"></i>
    41             </a>
    42             <div class="input-group">
    43                 <input type="text" class="form-control" placeholder="Search file"
    44                        aria-describedby="button-addon1">
    45                 <div class="input-group-append">
    46                     <button class="btn btn-outline-light" type="button" id="button-addon1">
    47                         <i data-feather="search"></i>
    48                     </button>
    49                 </div>
    50             </div>
    51         </form>
    52     </div>
    53 </div>
  • resources/views/dashboard/documents/index.blade.php

    r120759b rd795fa6  
    11@extends('layouts.app')
    22
    3 @section('pageTitle', 'File Manager')
     3@section("title", "SaveSpace - Documents")
     4
     5@section('pageTitle', 'SaveSpace - Documents')
    46
    57@section('content')
    68
    79    <div class="row app-block mb-4">
    8         @include('dashboard.documents.fragments.menu')
     10        <div class="col-md-3 app-sidebar">
     11            <div class="card">
     12                <div class="card-body">
     13                    <a href="{{ route("dashboard.documents.create") }}" class="btn btn-secondary btn-block file-upload-btn text-white" data-action="{{ route("dashboard.documents.create") }}">
     14                        Add document
     15                    </a>
     16                    <form class="d-none" id="file-upload">
     17                        <input type="file" multiple>
     18                    </form>
     19                </div>
     20                <div class="app-sidebar-menu">
     21                    <div class="list-group list-group-flush">
     22                        <a href="{{route("dashboard.documents.index")}}" class="list-group-item d-flex align-items-center">
     23                            <i data-feather="folder" class="width-15 height-15 mr-2"></i>
     24                            Documents
     25{{--                            <span class="small ml-auto">{{$totalDocs}}</span>--}}
     26                        </a>
     27                        @foreach($departments as $department)
     28                            <a href="{{ route("dashboard.documents.index", ["id" => $department->id]) }}" class="list-group-item d-flex align-items-center">
     29                                <i data-feather="folder" class="width-15 height-15 mr-2"></i>
     30                                {{$department->name}}
     31                                <span class="small ml-auto">{{$department->document->count()}}</span>
     32                            </a>
     33                        @endforeach
     34                        <a href="" class="list-group-item">
     35                            <i data-feather="upload-cloud" class="width-15 height-15 mr-2"></i>
     36                            Recents
     37                        </a>
     38                        <a href="" class="list-group-item d-flex align-items-center">
     39                            <i data-feather="star" class="width-15 height-15 mr-2"></i>
     40                            Important
     41                            <span class="small ml-auto">10</span>
     42                        </a>
     43                        <a href="" class="list-group-item">
     44                            <i data-feather="trash" class="width-15 height-15 mr-2"></i>
     45                            Deleted Files
     46                        </a>
     47                    </div>
     48                    <div class="card-body">
     49                        <h6 class="mb-4">Storage Status</h6>
     50                        <div class="d-flex align-items-center">
     51                            <div class="mr-3">
     52                                <i data-feather="database" class="width-30 height-30"></i>
     53                            </div>
     54                            <div class="flex-grow-1">
     55                                <div class="progress" style="height: 10px">
     56                                    <div class="progress-bar progress-bar-striped" role="progressbar"
     57                                         style="width: 40%" aria-valuenow="10" aria-valuemin="0"
     58                                         aria-valuemax="100"></div>
     59                                </div>
     60                                <div class="line-height-12 small text-muted mt-2">19.5GB used of 25GB</div>
     61                            </div>
     62                        </div>
     63                    </div>
     64                </div>
     65            </div>
     66        </div>
     67
    968
    1069        <div class="col-md-9 app-content">
    1170            <div class="app-content-overlay"></div>
    12             @include('dashboard.documents.fragments.filters')
     71            <div class="app-action">
     72                <div class="action-left">
     73                    <ul class="list-inline">
     74                        <li class="list-inline-item mb-0">
     75                            <a href="#" class="btn btn-outline-light dropdown-toggle" data-toggle="dropdown">
     76                                <i data-feather="plus" class="mr-1"></i>
     77                                Add
     78                            </a>
     79                            <div class="dropdown-menu">
     80                                <a class="dropdown-item" href="{{route("dashboard.departments.create")}}">Department</a>
     81                                <a class="dropdown-item" href="{{route("dashboard.documents.create")}}">Document</a>
     82                            </div>
     83                        </li>
     84                        <li class="list-inline-item mb-0">
     85                            <a href="#" class="btn btn-outline-light dropdown-toggle" data-toggle="dropdown">Departments</a>
     86                            <div class="dropdown-menu">
     87                                @foreach($departments as $department)
     88                                    <a class="dropdown-item d-flex justify-content-between m-5" href="{{ route("dashboard.documents.index", ["id" => $department->id]) }}">
     89                                        {{$department->name}}
     90                                        <span class="text-muted">{{$department->document->count()}}</span>
     91                                    </a>
     92                                @endforeach
     93                            </div>
     94                        </li>
     95                        <li class="list-inline-item mb-0">
     96                            <a href="#" class="btn btn-outline-light dropdown-toggle" data-toggle="dropdown">
     97                                Order by
     98                            </a>
     99                            <div class="dropdown-menu">
     100                                <a class="dropdown-item" href="#">Date</a>
     101                                <a class="dropdown-item" href="#">Name</a>
     102                                <a class="dropdown-item" href="#">Size</a>
     103                            </div>
     104                        </li>
     105                    </ul>
     106                </div>
     107                <div class="action-right">
     108                    <form class="d-flex mr-3">
     109                        <a href="#" class="app-sidebar-menu-button btn btn-outline-light">
     110                            <i data-feather="menu"></i>
     111                        </a>
     112                        <div class="input-group">
     113                            <input type="text" class="form-control" placeholder="Search file"
     114                                   aria-describedby="button-addon1">
     115                            <div class="input-group-append">
     116                                <button class="btn btn-outline-light" type="button" id="button-addon1">
     117                                    <i data-feather="search"></i>
     118                                </button>
     119                            </div>
     120                        </div>
     121                    </form>
     122                </div>
     123            </div>
     124
    13125
    14126            <p>Documents</p>
    15127            <div class="row">
    16                 @foreach($documents as $document)
     128                @forelse($documents as $document)
    17129                    <div class="col-xl-3 col-lg-4 col-md-6 col-sm-12">
    18130                        <div class="card app-file-list">
     
    39151                        </div>
    40152                    </div>
    41                 @endforeach
    42 
     153                @empty
     154                    <div>No items found</div>
     155                @endforelse
    43156
    44157            </div>
     
    49162@section('script')
    50163
    51 {{--    <script>--}}
    52 {{--        $(function () {--}}
    53 {{--            $(document).on('click', '.file-upload-btn', function () {--}}
    54 {{--                $('form#file-upload input[type="file"]').trigger('click');--}}
    55 {{--            });--}}
    56164
    57 {{--            $(document).on('click', '.app-sidebar-menu-button', function () {--}}
    58 {{--                $('.app-block .app-sidebar, .app-content-overlay').addClass('show');--}}
    59 {{--                // $('.app-block .app-sidebar .app-sidebar-menu').niceScroll().resize();--}}
    60 {{--                return false;--}}
    61 {{--            });--}}
    62 
    63 {{--            $(document).on('click', '.app-content-overlay', function () {--}}
    64 {{--                $('.app-block .app-sidebar, .app-content-overlay').removeClass('show');--}}
    65 {{--                return false;--}}
    66 {{--            });--}}
    67 {{--        });--}}
    68 {{--    </script>--}}
    69165
    70166@endsection
  • resources/views/dashboard/settings/index.blade.php

    r120759b rd795fa6  
    1818    </div>
    1919
     20    @if(isset($link))
     21        {{$link}}
     22        @endif
     23
    2024    <div class="row">
    2125        <div class="col-md-12">
     
    2529                    <div class="nav flex-lg-column flex-sm-row nav-pills" id="v-pills-tab" role="tablist" aria-orientation="vertical">
    2630                        <a class="nav-link active" id="v-pills-home-tab" data-toggle="pill" href="#v-pills-home" role="tab" aria-controls="v-pills-home" aria-selected="true">Account</a>
    27                         <a class="nav-link" id="v-pills-messages-tab" data-toggle="pill" href="#v-pills-messages" role="tab" aria-controls="v-pills-messages" aria-selected="false">Security</a>
     31                        <a class="nav-link" id="security-tab" data-toggle="pill" href="#security" role="tab" aria-controls="security" aria-selected="false">Security</a>
    2832                        <a class="nav-link" id="v-pills-settings-tab" data-toggle="pill" href="#v-pills-settings" role="tab" aria-controls="v-pills-settings" aria-selected="false">Social</a>
    2933                    </div>
     
    3539                                <div class="card-body">
    3640                                    <h6 class="card-title">Account</h6>
    37                                     <form action="{{ route("dashboard.users.editUserData", ["id" =>$user->id]) }}" method="post" accept-charset="utf-8" enctype='multipart/form-data'>
     41                                    <form action="{{ route("dashboard.users.editUserData", ["id" =>$user->id]) }}" method="post" accept-charset="utf-8" enctype='multipart/form-data' class="needs-validation" novalidate>
    3842                                        @method("patch")
    3943                                        @csrf
     
    4246                                                <div class="form-group">
    4347                                                    <label>Name</label>
    44                                                     <input type="text" name="name" value="{{ $user->name }}" class="form-control" placeholder="Name" required>
     48                                                    <input type="text" name="name" value="{{ $user->name }}" minlength="2" maxlength="30" class="form-control" placeholder="Name" required>
     49                                                    <div class="invalid-feedback">
     50                                                        Please enter only letters and spaces with length between [2, 30]
     51                                                    </div>
    4552                                                </div>
    4653                                            </div>
     
    5663                                                <div class="form-group">
    5764                                                    <label class="form-label">Mobile Number</label>
    58                                                     <input type="text" name="mobile_number" value="{{ $user->mobile_number }}" class="form-control" placeholder="Phone number" autocomplete="off" required>
     65                                                    <input type="text" name="phone_number" value="{{ $user->phone_number }}" class="form-control" placeholder="Phone number" autocomplete="off" required>
    5966                                                </div>
    6067                                            </div>
     
    7784                            </div>
    7885                        </div>
    79                         <div class="tab-pane fade" id="v-pills-messages" role="tabpanel" aria-labelledby="v-pills-messages-tab">
     86                        <div class="tab-pane{{old('tab') == 'security' ? ' active' : null}}" id="security" role="tabpanel" aria-labelledby="security-tab">
    8087                            <div class="card">
    8188                                <div class="card-body">
     
    236243
    237244@endsection
     245
     246@section('script')
     247    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
     248    <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js" integrity="sha512-uto9mlQzrs59VwILcLiRYeLKPPbS/bT71da/OEBYEwcdNUk8jYIy+D176RYoop1Da+f9mvkYrmj5MCLZWEtQuA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
     249    <script>
     250        $(document).ready(function () {
     251            if (window.location.hash) {
     252                $('.nav-pills a[href="#'+window.location.hash+'"]').tabs('show');
     253            }
     254        });
     255</script>
     256@endsection
  • resources/views/dashboard/users/create.blade.php

    r120759b rd795fa6  
    2727                            <div class="card">
    2828                                <div class="card-body">
    29                                     <h6 class="card-title">User account data</h6>
    30                                     <form action="{{ route("dashboard.users.store") }}" method="post" accept-charset="utf-8" enctype='multipart/form-data'>
     29                                    <h6 class="card-title">Create user</h6>
     30                                    <form action="{{ route("dashboard.users.store") }}" method="post" accept-charset="utf-8" enctype='multipart/form-data' class="needs-validation" novalidate>
    3131                                        @csrf
    3232                                        <div class="row">
     
    3434                                                <div class="form-group">
    3535                                                    <label>Name</label>
    36                                                     <input type="text" name="name" value="{{ old('name') }}" class="form-control" placeholder="Name" required>
     36                                                    <input type="text" name="name" value="{{ old('name') }}" minlength="2" maxlength="25" pattern="[a-zA-Zа-шА-Ш._\s]+" class="form-control" placeholder="Name" required>
     37                                                    <div class="invalid-feedback">
     38                                                        Please enter only letters and spaces with length between [2, 25]
     39                                                    </div>
    3740                                                </div>
    3841                                            </div>
     
    4043                                                <div class="form-group">
    4144                                                    <label>Surname</label>
    42                                                     <input type="text" name="surname" value="{{ old('surname') }}" class="form-control" placeholder="Surname" required>
     45                                                    <input type="text" name="surname" value="{{ old('surname') }}" minlength="2" maxlength="25" pattern="[a-zA-Zа-шА-Ш._\s]+" class="form-control" placeholder="Surname" required>
     46                                                    <div class="invalid-feedback">
     47                                                        Please enter only letters and spaces with length between [2, 25]
     48                                                    </div>
    4349                                                </div>
    4450                                            </div>
     
    4854                                                <div class="form-group">
    4955                                                    <label class="form-label">Username</label>
    50                                                     <input type="text" name="username" value="{{ old('username') }}" class="form-control" placeholder="Username" required>
     56                                                    <input type="text" name="username" value="{{ old('username') }}" minlength="5" maxlength="30" class="form-control" placeholder="Username" required>
     57                                                    <div class="invalid-feedback">
     58                                                        Please enter characters with length between [5, 30]
     59                                                    </div>
    5160                                                </div>
    5261                                            </div>
     
    5463                                                <div class="form-group">
    5564                                                    <label class="form-label">Role</label>
    56                                                     <select class="form-control" name="userRole">
     65                                                    <select class="form-control" name="userRole required">
    5766                                                        @foreach ($roles as $role)
    58                                                             <option value="{{ $role->id }}" {{ (old("userRole") == $role->id ? "selected" : "" ) }}>{{ ucfirst($role->name) }}</option>
     67                                                            <option value="{{ $role->id }}" {{ (old("userRole") == $role->id ? "selected" : "" ) }}>{{ $role->name }}</option>
    5968                                                        @endforeach
    6069                                                    </select>
     
    6776                                                    <label>Email</label>
    6877                                                    <input type="email" name="email" value="{{ old('email') }}" class="form-control" placeholder="E-mail" required>
     78                                                    <div class="invalid-feedback">
     79                                                        Please enter a valid email address
     80                                                    </div>
    6981                                                </div>
    7082                                            </div>
    7183                                            <div class="col-md-6">
    7284                                                <div class="form-group">
    73                                                     <label class="form-label">Mobile Number</label>
    74                                                     <input type="text" name="mobile_number" value="{{ old('mobile_number') }}" class="form-control" placeholder="Phone number" autocomplete="off" required>
     85                                                    <label class="form-label">Phone Number</label>
     86                                                    <input type="text" name="phone_number" value="{{ old('phone_number') }}" class="form-control" placeholder="Phone number" autocomplete="off" required>
     87                                                    <div class="invalid-feedback">
     88                                                        Please enter your phone number
     89                                                    </div>
    7590                                                </div>
    7691                                            </div>
     
    8398                                                    <label>Avatar</label>
    8499                                                    <input type="file" name="avatar" value="{{ old('avatar') }}" class="form-control" accept="image/*">
     100                                                    <div class="invalid-feedback">
     101                                                        Please upload a valid image file
     102                                                    </div>
    85103                                                </div>
    86104                                            </div>
  • resources/views/dashboard/users/edit.blade.php

    r120759b rd795fa6  
    2828                                <div class="card-body">
    2929                                    <h6 class="card-title">User account data</h6>
    30                                     <form action="{{ route("dashboard.users.edit", ["id" =>$user->id]) }}" method="post" accept-charset="utf-8" enctype='multipart/form-data'>
     30                                    <form action="{{ route("dashboard.users.edit", ["id" =>$user->id]) }}" method="post" accept-charset="utf-8" enctype='multipart/form-data' class="needs-validation" novalidate>
    3131                                        @method("patch")
    3232                                        @csrf
     
    3535                                                <div class="form-group">
    3636                                                    <label>Name</label>
    37                                                     <input type="text" name="name" value="{{ $user->name }}" class="form-control" placeholder="Name" required>
     37                                                    <input type="text" name="name" value="{{ $user->name }}" minlength="2" maxlength="30" pattern="[a-zA-Zа-шА-Ш._\s]+" class="form-control" placeholder="Name" required>
     38                                                    <div class="invalid-feedback">
     39                                                        Please enter only letters and spaces with length between [2, 30]
     40                                                    </div>
    3841                                                </div>
    3942                                            </div>
     
    4144                                                <div class="form-group">
    4245                                                    <label>Surname</label>
    43                                                     <input type="text" name="surname" value="{{$user->surname}}" class="form-control" placeholder="Surname" required>
     46                                                    <input type="text" name="surname" value="{{$user->surname}}" minlength="2" maxlength="30" pattern="[a-zA-Zа-шА-Ш._\s]+" class="form-control" placeholder="Surname" required>
     47                                                    <div class="invalid-feedback">
     48                                                        Please enter only letters and spaces with length between [2, 30]
     49                                                    </div>
    4450                                                </div>
    4551                                            </div>
     
    4955                                                <div class="form-group">
    5056                                                    <label class="form-label">Username</label>
    51                                                     <input type="text" name="username" value="{{ $user->username }}" class="form-control" placeholder="Username" required>
     57                                                    <input type="text" name="username" value="{{ $user->username }}" minlength="5" maxlength="30" class="form-control" placeholder="Username" required>
     58                                                    <div class="invalid-feedback">
     59                                                        Please enter characters with length between [5, 30]
     60                                                    </div>
    5261                                                </div>
    5362                                            </div>
     
    5665                                                    <label class="form-label">Role</label>
    5766
    58                                                     <select class="form-control" name="userRole">
     67                                                    <select class="form-control" name="userRole" required>
    5968                                                        @foreach($roles as $role)
    6069                                                            <option value="{{ $role->id }}" {{ $user->role_id == $role->id ? "selected" : "" }}>{{ $role->name }}</option>
     
    6877                                                <div class="form-group">
    6978                                                    <label>Email</label>
    70                                                     <input type="email" name="email" value="{{ $user->email }}" class="form-control" placeholder="E-mail" required>
     79                                                    <input type="email" name="email" value="{{ $user->email }}" maxlength="50" class="form-control" placeholder="E-mail" required>
     80                                                    <div class="invalid-feedback">
     81                                                        Please enter a valid email address with length <=50
     82                                                    </div>
    7183                                                </div>
    7284                                            </div>
    7385                                            <div class="col-md-6">
    7486                                                <div class="form-group">
    75                                                     <label class="form-label">Mobile Number</label>
    76                                                     <input type="text" name="mobile_number" value="{{ $user->mobile_number }}" class="form-control" placeholder="Phone number" autocomplete="off" required>
     87                                                    <label class="form-label">Phone Number</label>
     88                                                    <input type="text" name="phone_number" value="{{ $user->phone_number }}" class="form-control" placeholder="Phone number" autocomplete="off" required>
     89                                                    <div class="invalid-feedback">
     90                                                        Please enter your phone number
     91                                                    </div>
    7792                                                </div>
    7893                                            </div>
     
    8398                                                    <label>Avatar</label>
    8499                                                    <input type="file" name="avatar" value="{{ $user->avatar }}" class="form-control" accept="image/*">
     100                                                    <div class="invalid-feedback">
     101                                                        Please upload a valid image file
     102                                                    </div>
    85103                                                </div>
    86104                                            </div>
  • resources/views/dashboard/users/index.blade.php

    r120759b rd795fa6  
    11@extends('layouts.app')
    22
    3 @section("title", "Users")
     3@section("title", "SaveSpace - Users")
    44
    5 @section('pageTitle', 'User List')
     5@section('pageTitle', 'Users')
    66
    77@section('head')
     
    3737                            <thead>
    3838                            <tr>
    39                                 <th>
    40 {{--                                    <div class="custom-control custom-checkbox">--}}
    41 {{--                                        <input type="checkbox" class="custom-control-input" id="user-list-select-all">--}}
    42 {{--                                        <label class="custom-control-label" for="user-list-select-all"></label>--}}
    43 {{--                                    </div>--}}
    44                                 </th>
     39                                <th></th>
    4540                                <th>State</th>
    4641                                <th>Username</th>
     
    4843                                <th>Email</th>
    4944                                <th>Phone Number</th>
     45                                <th>Created by</th>
    5046                                <th>Created at</th>
     47                                <th>Updated at</th>
    5148                                <th>Role</th>
    5249                                <th>Status</th>
     
    7673                                    <td>{{$user->name .' '. $user->surname}}</td>
    7774                                    <td>{{$user->email}}</td>
    78                                     <td>{{$user->mobile_number}}</td>
     75                                    <td>{{$user->phone_number}}</td>
     76                                    <td>{{ $user->getCreatedByName() }}</td>
    7977                                    <td>{{ date('d.m.Y', strtotime($user->created_at)) }}</td>
     78                                    @if($user->updated_at==NULL)
     79                                        <td>/</td>
     80                                    @else
     81                                        <td>{{ date('d.m.Y - H:i', strtotime($user->updated_at)) }}</td>
     82                                    @endif
    8083                                    <td>{{ $user->role->name }}</td>
    8184                                    <td>
  • resources/views/layouts/app.blade.php

    r120759b rd795fa6  
    7575            <div class="mb-4">
    7676                <h6>Phone</h6>
    77                 <p class="text-muted mb-0">{{ auth()->user()->mobile_number }}</p>
     77                <p class="text-muted mb-0">{{ auth()->user()->phone_number }}</p>
    7878            </div>
    7979        </div>
     
    183183                        </li>
    184184                    @endif
    185                     <li>
    186                         <a href="#" data-toggle="tooltip" data-placement="right" title="Ecommerce"
    187                            data-nav-target="#ecommerce">
    188                             <i data-feather="shopping-cart"></i>
    189                         </a>
    190                     </li>
    191185                </ul>
    192186            </div>
     
    230224@include("layouts.alert")
    231225
    232 
    233226</body>
    234227</html>
Note: See TracChangeset for help on using the changeset viewer.