@extends("admin.layout.base") @extends("admin.layout.header") @section("title") Bruger - Rediger @endsection @section("path") <a href="{{ route('users.edit', ['user' => $user]) }}" class="text-white">Rediger Bruger</a> / @endsection @section("content") <style> .select2-container--default .select2-results > .select2-results__options { max-height: 120px !important; } .select2-results__option, .select2-search__field { color: black; } </style> <link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-beta.1/dist/css/select2.min.css" rel="stylesheet" /> <script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-beta.1/dist/js/select2.min.js"></script> <script> // In your Javascript (external .js resource or <script> tag) $(document).ready(function() { $('.js-example-basic-multiple').select2(); }); </script> <h1>Rediger Bruger:</h1> <form method="post" action="{{ route("users.update", ['user' => $user]) }}" onsubmit="return checkInputs()" enctype="multipart/form-data"> @csrf @method("put") <label for="name_first">Fornavn:</label> <input type="text" name="name_first" id="name_first" value="{{ $user->name_first }}" required> <label for="name_last">Efternavn:</label> <input type="text" name="name_last" id="name_last" value="{{ $user->name_last }}" required> <label for="email">Email:</label> <label hidden id="erroremail">Der findes allerede en bruger med denne email!</label> <input type="email" name="email" id="email" placeholder="x@y.z" value="{{ $user->email }}" required> <label for="password1">Password: (Forblives blank, hvis password ikke skal ændres)</label> <label hidden id="errornotsamepass" for="errormesseages">Der stod ikke det samme i `Adgangskode` & `Bekræft Adgangskode`!</label> <div class="input-group text-left"> <input type="password" pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}" title="Adgangskoden skal indeholde mindst et tal, et lille bogstav, et stort bogstav og have en minimumslængde på 8 karakterer" class="form-control" name="password" id="password1" value="" placeholder="******"> <span class="fa fa-fw fa-eye field-icon toggle-password" id="fa-new" onclick="show('password1', 'fa-new')"></span> </div> <label for="password2">Confirm Password: (Forblives blank, hvis password ikke skal ændres)</label> <div class="input-group text-left"> <input type="password" class="form-control" name="password2" id="password2" value="" placeholder="******"> <span class="fa fa-fw fa-eye field-icon toggle-password" id="fa-confirm" onclick="show('password2', 'fa-confirm')"></span> </div> <label for="tel">Telefon nr:</label> <label hidden id="errorphone">Der findes allerede en bruger med dette telefon nr!</label> <input type="tel" name="phone" id="phone" value="{{ $user->phone }}" placeholder="12345678" pattern="[0-9]{2}[0-9]{2}[0-9]{2}[0-9]{2}" required> <label for="role">Rolle: (Brug ctrl og shift til at vælge flere)</label> <select id="roles" class="js-example-basic-multiple mb-2" name="roles[]" multiple="multiple" required> <optgroup label="Roller"> @if(count($user->roles) == 0) @foreach($roles as $role) <option value="{{ $role->name }}">{{ $role->name }}</option> @endforeach @else @foreach($roles as $role) {{ $selected = "" }} @foreach($user->roles as $userRole) @if($userRole->id == $role->id) {{ $selected = "selected" }} @endif @endforeach <option {{ $selected }} value="{{ $role->name }}">{{ $role->name }}</option> @endforeach @endif </optgroup> </select> <label for="fileuploade">Skift brugerens profile billede:</label> <input id="fileuploade" type="file" name="resource" accept="image/*"> <input type="submit" class="btn btn-dark text-white" value="Rediger"> </form> @endsection @section("scripts") <script> function show($passID, $faID) { var inputPass = document.getElementById($passID); var faEye = document.getElementById($faID); if (inputPass.type === "password") { inputPass.type = "text"; faEye.style.color = "#000"; } else { inputPass.type = "password"; faEye.style.color = "#808080"; } } </script> <script> $(function() { $('form').areYouSure( { message: 'It looks like you have been editing something. ' + 'If you leave before saving, your changes will be lost.' } ); }); function checkInputs() { var save = true; $mail = $('#email').val(); $phone = $('#phone').val(); $.ajax({ 'async': false, type: 'get', url: '{{route('users.nameCheckUpdate')}}', data: {'mailCheck':$mail, 'phoneCheck':$phone, 'id': {{$user->id}}}, success:function (data) { if (data == 'both') { $("#erroremail").show(100); $("#erroremail").css('color', 'red'); $("#errorphone").show(100); $("#errorphone").css('color', 'red'); save = false; } else if(data == 'email'){ $("#errorphone").hide(); $("#erroremail").show(100); $("#erroremail").css('color', 'red'); save = false; } else if (data == 'phone') { $("#erroremail").hide(); $("#errorphone").show(100); $("#errorphone").css('color', 'red'); save = false; } else { $("#errorphone").hide(); $("#erroremail").hide(); } }, error:function (data) { console.log(data); } }); // If passwords is not the same. Then show an error message and make save false if ($('#password1').val() != $('#password2').val()) { $("#errornotsamepass").show(100); $("#errornotsamepass").css('color', 'red'); save = false; } else $("#errornotsamepass").hide(); if (save) return true; else return false; } </script> @endsection