filter profile

This commit is contained in:
vedatakd 2020-02-27 17:29:20 +03:00
parent f9c74ca4f1
commit 8f6c5f05e2
4 changed files with 44 additions and 21 deletions

View File

@ -8,4 +8,6 @@ return [
'update_profile' => 'Update Profile', 'update_profile' => 'Update Profile',
'delete' => 'Delete', 'delete' => 'Delete',
'edit' => 'Edit', 'edit' => 'Edit',
'go_profile' => 'Go to Profile Detail',
'go_user' => 'Go to User Detail',
]; ];

View File

@ -8,4 +8,6 @@ return [
'update_profile' => 'Profili Güncelle', 'update_profile' => 'Profili Güncelle',
'delete' => 'Sil', 'delete' => 'Sil',
'edit' => 'Düzenle', 'edit' => 'Düzenle',
'go_profile' => 'Profil Detayları',
'go_user' => 'Kullanıcı Detayları',
]; ];

View File

@ -1,7 +1,9 @@
<?php namespace Visiosoft\ProfileModule\Http\Controller\Admin; <?php namespace Visiosoft\ProfileModule\Http\Controller\Admin;
use Anomaly\Streams\Platform\Entry\EntryModel;
use Anomaly\Streams\Platform\Model\Users\UsersUsersEntryModel; use Anomaly\Streams\Platform\Model\Users\UsersUsersEntryModel;
use Anomaly\Streams\Platform\Ui\Table\TableBuilder; use Anomaly\Streams\Platform\Ui\Table\TableBuilder;
use Anomaly\UsersModule\User\User;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redirect; use Illuminate\Support\Facades\Redirect;
use Visiosoft\LocationModule\Country\CountryModel; use Visiosoft\LocationModule\Country\CountryModel;
@ -9,6 +11,7 @@ use Visiosoft\ProfileModule\Profile\Form\ProfileFormBuilder;
use Visiosoft\ProfileModule\Profile\ProfileModel; use Visiosoft\ProfileModule\Profile\ProfileModel;
use Visiosoft\ProfileModule\Profile\Table\ProfileTableBuilder; use Visiosoft\ProfileModule\Profile\Table\ProfileTableBuilder;
use Anomaly\Streams\Platform\Http\Controller\AdminController; use Anomaly\Streams\Platform\Http\Controller\AdminController;
use Visiosoft\StoreModule\User\Contract\UserRepositoryInterface;
class ProfileController extends AdminController class ProfileController extends AdminController
{ {
@ -21,8 +24,14 @@ class ProfileController extends AdminController
*/ */
public function index(ProfileTableBuilder $table, Request $request) public function index(ProfileTableBuilder $table, Request $request)
{ {
$users = UsersUsersEntryModel::query()->get(); $table->setColumns([
$table->setTableEntries($users); 'email' => [
'value' => function (UserRepositoryInterface $user, EntryModel $entry) {
return User::query()->find($entry->id)->email;
}
],
'gsm_phone'
]);
return $table->render(); return $table->render();
} }
@ -32,34 +41,30 @@ class ProfileController extends AdminController
* @param ProfileFormBuilder $form * @param ProfileFormBuilder $form
* @return \Symfony\Component\HttpFoundation\Response * @return \Symfony\Component\HttpFoundation\Response
*/ */
public function edit(ProfileFormBuilder $form,$id) public function edit(ProfileFormBuilder $form, $id)
{ {
$users = UsersUsersEntryModel::find($id); $users = UsersUsersEntryModel::find($id);
$profiles = ProfileModel::query()->where('user_id',$id)->orderBy("id")->first(); $profiles = ProfileModel::query()->where('user_id', $id)->orderBy("id")->first();
if($profiles == null) if ($profiles == null) {
{
$newProfile = []; $newProfile = [];
$newProfile ['user_id'] = $id; $newProfile ['user_id'] = $id;
$newProfile ['country_id'] = null; $newProfile ['country_id'] = null;
ProfileModel::query()->create($newProfile); ProfileModel::query()->create($newProfile);
$profiles = ProfileModel::query()->where('user_id',$id)->orderBy("id")->first(); $profiles = ProfileModel::query()->where('user_id', $id)->orderBy("id")->first();
} }
$country = CountryModel::all(); $country = CountryModel::all();
return $this->view->make('visiosoft.module.profile::admin.profile.edit',compact('users','profiles','country','form')); return $this->view->make('visiosoft.module.profile::admin.profile.edit', compact('users', 'profiles', 'country', 'form'));
} }
public function update(ProfileFormBuilder $form, Request $request,$id) public function update(ProfileFormBuilder $form, Request $request, $id)
{ {
$all = $request->all(); $all = $request->all();
if($all['email'] == "" OR $all['username'] == "") if ($all['email'] == "" OR $all['username'] == "") {
{
$error = []; $error = [];
if($all['email'] == "") if ($all['email'] == "") {
{
$error[] = trans('visiosoft.module.profile::message.email'); $error[] = trans('visiosoft.module.profile::message.email');
} }
if($all['username'] == "") if ($all['username'] == "") {
{
$error[] = trans('visiosoft.module.profile::message.username'); $error[] = trans('visiosoft.module.profile::message.username');
} }
return Redirect::back()->with('error', $error); return Redirect::back()->with('error', $error);
@ -74,14 +79,13 @@ class ProfileController extends AdminController
$userModule['activated'] = $all['activated']; $userModule['activated'] = $all['activated'];
$userModule['enabled'] = $all['enabled']; $userModule['enabled'] = $all['enabled'];
UsersUsersEntryModel::query()->find($id)->update($userModule); UsersUsersEntryModel::query()->find($id)->update($userModule);
foreach ($userModule as $key => $val) foreach ($userModule as $key => $val) {
{
unset($all[$key]); unset($all[$key]);
} }
$all['file_id'] = $all['file']; $all['file_id'] = $all['file'];
unset($all['file']); unset($all['file']);
unset($all['_token'],$all['action']); unset($all['_token'], $all['action']);
ProfileModel::query()->where('user_id',$id)->update($all); ProfileModel::query()->where('user_id', $id)->update($all);
$message = []; $message = [];
$message[] = trans('visiosoft.module.profile::message.success_update'); $message[] = trans('visiosoft.module.profile::message.success_update');
return redirect('admin/profile')->with('success', $message); return redirect('admin/profile')->with('success', $message);

View File

@ -17,7 +17,16 @@ class ProfileTableBuilder extends TableBuilder
* *
* @var array|string * @var array|string
*/ */
protected $filters = []; protected $filters = [
'search' => [
'filter' => 'search',
'fields' => [
'gsm_phone',
'land_phone','office_phone','register_type',
'identification_number',
],
],
];
/** /**
* The table columns. * The table columns.
@ -34,7 +43,13 @@ class ProfileTableBuilder extends TableBuilder
* @var array|string * @var array|string
*/ */
protected $buttons = [ protected $buttons = [
'edit' 'go_user'=> [
'type' => 'info',
'icon' => 'fa fa-user'
],
'edit' => [
'text' => 'visiosoft.module.profile::button.go_profile'
],
]; ];
/** /**