diff --git a/flexiapi/app/Http/Controllers/Account/EmailController.php b/flexiapi/app/Http/Controllers/Account/EmailController.php index b0528fc..904de2d 100644 --- a/flexiapi/app/Http/Controllers/Account/EmailController.php +++ b/flexiapi/app/Http/Controllers/Account/EmailController.php @@ -54,6 +54,8 @@ class EmailController extends Controller return redirect()->route('account.dashboard'); } - return redirect()->route('account.email.change'); + return redirect()->route('account.email.change')->withErrors([ + 'code' => 'The code entered was not valid' + ]); } } diff --git a/flexiapi/app/Http/Controllers/Account/PhoneController.php b/flexiapi/app/Http/Controllers/Account/PhoneController.php index c3b19bb..3b6b12c 100644 --- a/flexiapi/app/Http/Controllers/Account/PhoneController.php +++ b/flexiapi/app/Http/Controllers/Account/PhoneController.php @@ -54,6 +54,8 @@ class PhoneController extends Controller return redirect()->route('account.dashboard'); } - return redirect()->route('account.phone.change'); + return redirect()->route('account.phone.change')->withErrors([ + 'code' => 'The code entered was not valid' + ]); } } diff --git a/flexiapi/app/Http/Controllers/Account/RecoveryController.php b/flexiapi/app/Http/Controllers/Account/RecoveryController.php index b7cf4b4..e2594ca 100644 --- a/flexiapi/app/Http/Controllers/Account/RecoveryController.php +++ b/flexiapi/app/Http/Controllers/Account/RecoveryController.php @@ -88,6 +88,7 @@ class RecoveryController extends Controller } return view('account.recovery.confirm', [ + 'method' => $request->get('phone') ? 'phone' : 'email', 'account_id' => Crypt::encryptString($account->id) ]); } @@ -96,6 +97,7 @@ class RecoveryController extends Controller { $request->validate([ 'account_id' => 'required', + 'method' => 'in:phone,email', 'number_1' => 'required|digits:1', 'number_2' => 'required|digits:1', 'number_3' => 'required|digits:1', @@ -104,12 +106,13 @@ class RecoveryController extends Controller $code = $request->get('number_1') . $request->get('number_2') . $request->get('number_3') . $request->get('number_4'); - $account = Account::where('id', Crypt::decryptString($request->get('account_id')))->firstOrFail(); if ($account->recovery_code != $code) { - return redirect()->back()->withErrors([ - 'code' => 'Wrong code' + return redirect()->route($request->get('method') == 'phone' + ? 'account.recovery.show.phone' + : 'account.recovery.show.email')->withErrors([ + 'code' => 'The code entered was not valid' ]); } @@ -117,6 +120,6 @@ class RecoveryController extends Controller $account->save(); Auth::login($account); - return redirect()->route('account.dashboard'); + return redirect()->route('account.password.update'); } } diff --git a/flexiapi/app/Http/Controllers/Admin/AccountContactController.php b/flexiapi/app/Http/Controllers/Admin/AccountContactController.php index 40c7638..20615da 100644 --- a/flexiapi/app/Http/Controllers/Admin/AccountContactController.php +++ b/flexiapi/app/Http/Controllers/Admin/AccountContactController.php @@ -38,20 +38,22 @@ class AccountContactController extends Controller public function store(Request $request, int $id) { + $request->validate([ + 'sip' => 'required', + ]); + $account = Account::findOrFail($id); $contact = Account::sip($request->get('sip'))->first(); if (!$contact) { - $request->session()->flash('error', 'The contact SIP address doesn\'t exists'); - - return redirect()->route('admin.account.contact.create', $account); + return redirect()->back()->withErrors([ + 'sip' => 'The contact SIP address doesn\'t exists' + ]); } $account->contacts()->detach($contact->id); $account->contacts()->attach($contact->id); - $request->session()->flash('success', 'Contact successfully added'); - Log::channel('events')->info('Web Admin: Account contact added', ['id' => $account->identifier, 'contact' => $contact->identifier]); return redirect()->route('admin.account.edit', $account); diff --git a/flexiapi/app/Http/Controllers/Admin/ContactsListContactController.php b/flexiapi/app/Http/Controllers/Admin/ContactsListContactController.php index 7064b14..a8bb18f 100644 --- a/flexiapi/app/Http/Controllers/Admin/ContactsListContactController.php +++ b/flexiapi/app/Http/Controllers/Admin/ContactsListContactController.php @@ -35,12 +35,15 @@ class ContactsListContactController extends Controller $accounts = $accounts->where('username', 'like', '%' . $request->get('search') . '%'); } + if ($request->has('domain')) { + $accounts = $accounts->where('domain', $request->get('domain')); + } + return view('admin.contacts_list.contacts.add', [ + 'domains' => Account::groupBy('domain')->pluck('domain'), 'contacts_list' => ContactsList::findOrFail($contactsListId), 'params' => [ - 'search' => $request->get('search'), - 'contacts_list_id' => $contactsListId, - 'updated_at_order' => $request->get('updated_at_order') == 'desc' ? 'asc' : 'desc' + 'contacts_list_id' => $contactsListId ], 'accounts' => $accounts->whereNotIn('id', function ($query) use ($contactsListId) { $query->select('contact_id') diff --git a/flexiapi/app/Http/Controllers/Admin/ContactsListController.php b/flexiapi/app/Http/Controllers/Admin/ContactsListController.php index 6c8aee6..bb00d54 100644 --- a/flexiapi/app/Http/Controllers/Admin/ContactsListController.php +++ b/flexiapi/app/Http/Controllers/Admin/ContactsListController.php @@ -19,6 +19,7 @@ namespace App\Http\Controllers\Admin; +use App\Account; use App\ContactsList; use App\Http\Controllers\Controller; use Illuminate\Validation\Rule; @@ -67,10 +68,29 @@ class ContactsListController extends Controller return redirect()->route('admin.contacts_lists.edit', $contactsList->id); } - public function edit(int $id) + public function search(Request $request, int $contactsListId) { + return redirect()->route('admin.contacts_lists.edit', ['contacts_list_id' => $contactsListId] + $request->except('_token')); + } + + public function edit(Request $request, int $id) + { + $contacts = ContactsList::findOrFail($id)->contacts(); + + if ($request->has('search')) { + $contacts = $contacts->where('username', 'like', '%' . $request->get('search') . '%'); + } + + if ($request->has('domain')) { + $contact = $contacts->where('domain', $request->get('domain')); + } + + $contacts = $contacts->get(); + return view('admin.contacts_list.create_edit', [ + 'domains' => Account::groupBy('domain')->pluck('domain'), 'contacts_list' => ContactsList::findOrFail($id), + 'contacts' => $contacts ]); } diff --git a/flexiapi/public/accounts_example.csv b/flexiapi/public/accounts_example.csv new file mode 100644 index 0000000..f23198d --- /dev/null +++ b/flexiapi/public/accounts_example.csv @@ -0,0 +1,4 @@ +Username,Password,Role,Status,Phone,Email +john,number9,user,active,+12341234,john@lennon.com +paul,a_day_in_the_life,admin,active,,paul@apple.com +ringo,allUneedIsL3ve,user,unactove,+123456,ringo@star.co.uk \ No newline at end of file diff --git a/flexiapi/public/css/far.css b/flexiapi/public/css/far.css index f129338..3ce6376 100644 --- a/flexiapi/public/css/far.css +++ b/flexiapi/public/css/far.css @@ -304,7 +304,7 @@ header nav a#logo::before { width: 3rem; height: 3rem; padding: 1rem; - background-image: url('/img/logo.svg'); + background-image: url('../img/logo.svg'); background-color: var(--main-5); background-size: 3rem; background-position: center; @@ -387,7 +387,7 @@ content > nav { background-size: auto 10rem; background-position: bottom center; background-repeat: repeat-x; - background-image: url('/img/footer.svg'); + background-image: url('../img/footer.svg'); z-index: 1; } @@ -465,7 +465,7 @@ content > nav a i { body.welcome::after { background-position: bottom center; background-repeat: repeat-x; - background-image: url('/img/footer.svg'); + background-image: url('../img/footer.svg'); display: block; height: 10rem; width: 100%; diff --git a/flexiapi/public/css/form.css b/flexiapi/public/css/form.css index 951d5b4..139dd87 100644 --- a/flexiapi/public/css/form.css +++ b/flexiapi/public/css/form.css @@ -89,6 +89,7 @@ form.inline { grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 2rem; + clear: both; } form div { diff --git a/flexiapi/public/css/style.css b/flexiapi/public/css/style.css index e82238a..c5adea4 100644 --- a/flexiapi/public/css/style.css +++ b/flexiapi/public/css/style.css @@ -42,7 +42,7 @@ body > footer::before { width: 100%; background-size: 50rem; content: ''; - background-image: url('/img/footer.svg'); + background-image: url('../img/footer.svg'); height: 9rem; } diff --git a/flexiapi/resources/views/about.blade.php b/flexiapi/resources/views/about.blade.php index 665a0e7..a03eb26 100644 --- a/flexiapi/resources/views/about.blade.php +++ b/flexiapi/resources/views/about.blade.php @@ -2,7 +2,7 @@ @section('content')
+
The verification code is invalid.
Please enter again your email address to receive a new code.
@endif + + @include('parts.errors', ['name' => 'code'])users
-Use this existing (.csv) template or create your own csv file.
+Use this existing example (.csv) template or create your own csv file.
This file MUST be in csv format and contain at least the following information: diff --git a/flexiapi/resources/views/admin/contacts_list/contacts/add.blade.php b/flexiapi/resources/views/admin/contacts_list/contacts/add.blade.php index 2d1ca4c..4aee097 100644 --- a/flexiapi/resources/views/admin/contacts_list/contacts/add.blade.php +++ b/flexiapi/resources/views/admin/contacts_list/contacts/add.blade.php @@ -16,10 +16,8 @@ Cancel -