Added asset, license, user and model cloning
This commit is contained in:
Executable → Regular
+24
@@ -234,6 +234,30 @@ class ModelsController extends AdminController
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function getClone($modelId = null)
|
||||
{
|
||||
// Check if the model exists
|
||||
if (is_null($model_to_clone = Model::find($modelId))) {
|
||||
// Redirect to the model management page
|
||||
return Redirect::to('assets/models')->with('error', Lang::get('admin/models/message.does_not_exist'));
|
||||
}
|
||||
|
||||
$model = clone $model_to_clone;
|
||||
$model->id = null;
|
||||
|
||||
// Show the page
|
||||
$depreciation_list = array('' => 'Do Not Depreciate') + Depreciation::lists('name', 'id');
|
||||
$manufacturer_list = array('' => 'Select One') + Manufacturer::lists('name', 'id');
|
||||
$category_list = array('' => '') + DB::table('categories')->whereNull('deleted_at')->lists('name', 'id');
|
||||
$view = View::make('backend/models/edit');
|
||||
$view->with('category_list',$category_list);
|
||||
$view->with('depreciation_list',$depreciation_list);
|
||||
$view->with('manufacturer_list',$manufacturer_list);
|
||||
$view->with('model',$model);
|
||||
return $view;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Executable → Regular
+57
@@ -544,5 +544,62 @@ class UsersController extends AdminController
|
||||
return Redirect::route('users')->with('error', $error);
|
||||
}
|
||||
}
|
||||
|
||||
public function getClone($id = null)
|
||||
{
|
||||
// We need to reverse the UI specific logic for our
|
||||
// permissions here before we update the user.
|
||||
$permissions = Input::get('permissions', array());
|
||||
$this->decodePermissions($permissions);
|
||||
app('request')->request->set('permissions', $permissions);
|
||||
|
||||
|
||||
try {
|
||||
// Get the user information
|
||||
$user_to_clone = Sentry::getUserProvider()->findById($id);
|
||||
$user = clone $user_to_clone;
|
||||
$user->first_name = '';
|
||||
$user->last_name = '';
|
||||
$user->email = substr($user->email, ($pos = strpos($user->email, '@')) !== false ? $pos : 0);;
|
||||
$user->id = null;
|
||||
|
||||
// Get this user groups
|
||||
$userGroups = $user_to_clone->groups()->lists('group_id', 'name');
|
||||
|
||||
// Get this user permissions
|
||||
$userPermissions = array_merge(Input::old('permissions', array('superuser' => -1)), $user_to_clone->getPermissions());
|
||||
$this->encodePermissions($userPermissions);
|
||||
|
||||
// Get a list of all the available groups
|
||||
$groups = Sentry::getGroupProvider()->findAll();
|
||||
|
||||
// Get all the available permissions
|
||||
$permissions = Config::get('permissions');
|
||||
$this->encodeAllPermissions($permissions);
|
||||
|
||||
$location_list = array('' => '') + Location::lists('name', 'id');
|
||||
$manager_list = array('' => 'Select a User') + DB::table('users')
|
||||
->select(DB::raw('concat(first_name," ",last_name) as full_name, id'))
|
||||
->whereNull('deleted_at')
|
||||
->where('id','!=',$id)
|
||||
->orderBy('last_name', 'asc')
|
||||
->orderBy('first_name', 'asc')
|
||||
->lists('full_name', 'id');
|
||||
|
||||
// Show the page
|
||||
return View::make('backend/users/edit', compact('groups', 'userGroups', 'permissions', 'userPermissions'))
|
||||
->with('location_list',$location_list)
|
||||
->with('manager_list',$manager_list)
|
||||
->with('user',$user)
|
||||
->with('clone_user',$user_to_clone);
|
||||
|
||||
} catch (UserNotFoundException $e) {
|
||||
// Prepare the error message
|
||||
$error = Lang::get('admin/users/message.user_not_found', compact('id'));
|
||||
|
||||
// Redirect to the user management page
|
||||
return Redirect::route('users')->with('error', $error);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Executable → Regular
+2
@@ -12,4 +12,6 @@ return array(
|
||||
'update' => 'Update Asset Model',
|
||||
'view' => 'View Asset Model',
|
||||
'update' => 'Update Model',
|
||||
'clone' => 'Clone Model',
|
||||
'edit' => 'Edit Model',
|
||||
);
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
|
||||
return array(
|
||||
|
||||
'edit' => 'Edit User',
|
||||
'clone' => 'Clone User',
|
||||
);
|
||||
Executable → Regular
+1
@@ -25,5 +25,6 @@ return array(
|
||||
'phone' => 'Phone',
|
||||
'title' => 'Title',
|
||||
'updateuser' => 'Update User',
|
||||
'cloneuser' => 'Clone User',
|
||||
'viewusers' => 'View Users',
|
||||
);
|
||||
|
||||
@@ -35,6 +35,8 @@ Route::group(array('prefix' => 'hardware'), function () {
|
||||
Route::post('create', 'Controllers\Admin\ModelsController@postCreate');
|
||||
Route::get('{modelId}/edit', array('as' => 'update/model', 'uses' => 'Controllers\Admin\ModelsController@getEdit'));
|
||||
Route::post('{modelId}/edit', 'Controllers\Admin\ModelsController@postEdit');
|
||||
Route::get('{modelId}/clone', array('as' => 'clone/model', 'uses' => 'Controllers\Admin\ModelsController@getClone'));
|
||||
Route::post('{modelId}/clone', 'Controllers\Admin\ModelsController@postCreate');
|
||||
Route::get('{modelId}/delete', array('as' => 'delete/model', 'uses' => 'Controllers\Admin\ModelsController@getDelete'));
|
||||
Route::get('{modelId}/view', array('as' => 'view/model', 'uses' => 'Controllers\Admin\ModelsController@getView'));
|
||||
});
|
||||
@@ -156,6 +158,8 @@ Route::group(array('prefix' => 'admin'), function () {
|
||||
Route::post('create', 'Controllers\Admin\UsersController@postCreate');
|
||||
Route::get('{userId}/edit', array('as' => 'update/user', 'uses' => 'Controllers\Admin\UsersController@getEdit'));
|
||||
Route::post('{userId}/edit', 'Controllers\Admin\UsersController@postEdit');
|
||||
Route::get('{userId}/clone', array('as' => 'clone/user', 'uses' => 'Controllers\Admin\UsersController@getClone'));
|
||||
Route::post('{userId}/clone', 'Controllers\Admin\UsersController@postCreate');
|
||||
Route::get('{userId}/delete', array('as' => 'delete/user', 'uses' => 'Controllers\Admin\UsersController@getDelete'));
|
||||
Route::get('{userId}/restore', array('as' => 'restore/user', 'uses' => 'Controllers\Admin\UsersController@getRestore'));
|
||||
Route::get('{userId}/view', array('as' => 'view/user', 'uses' => 'Controllers\Admin\UsersController@getView'));
|
||||
|
||||
@@ -9,13 +9,6 @@
|
||||
{{-- Page content --}}
|
||||
@section('content')
|
||||
|
||||
<!--<div class="row header">
|
||||
<div class="col-md-12">
|
||||
<a href="{{ route('update/license', $license->id) }}" class="btn btn-warning pull-right"> @lang('admin/licenses/form.update')</a>
|
||||
<h3 class="name">@lang('general.history_for') {{ $license->name }}</h3>
|
||||
</div>
|
||||
</div>-->
|
||||
|
||||
<div class="row header">
|
||||
<div class="col-md-12">
|
||||
<div class="btn-group pull-right">
|
||||
|
||||
Executable → Regular
+27
-1
@@ -12,7 +12,7 @@
|
||||
|
||||
{{-- Page content --}}
|
||||
@section('content')
|
||||
<div class="row header">
|
||||
<!--<div class="row header">
|
||||
<div class="col-md-12">
|
||||
<a href="{{ URL::previous() }}" class="btn-flat gray pull-right"><i class="icon-circle-arrow-left icon-white"></i> @lang('general.back')</a>
|
||||
<h3>
|
||||
@@ -23,6 +23,32 @@
|
||||
@endif
|
||||
</h3>
|
||||
</div>
|
||||
</div>-->
|
||||
|
||||
<div class="row header">
|
||||
<div class="col-md-12">
|
||||
<div class="btn-group pull-right">
|
||||
<button class="btn gray">@lang('button.actions')</button>
|
||||
<button class="btn glow dropdown-toggle" data-toggle="dropdown">
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
|
||||
@if ($model->id)
|
||||
|
||||
<li><a href="{{ route('clone/model', $model->id) }}">@lang('admin/models/table.clone')</a></li>
|
||||
@endif
|
||||
<li><a href="{{ URL::previous() }}">@lang('general.cancel')</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<h3>
|
||||
@if ($model->id)
|
||||
@lang('admin/models/table.update')
|
||||
@else
|
||||
@lang('admin/models/table.create')
|
||||
@endif
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row form-wrapper">
|
||||
|
||||
Executable → Regular
Executable → Regular
+6
-4
@@ -21,10 +21,12 @@
|
||||
</div>
|
||||
<h3>
|
||||
@if ($user->id)
|
||||
@lang('admin/users/table.updateuser')
|
||||
{{ $user->fullName() }}
|
||||
@else
|
||||
@lang('admin/users/table.createuser')
|
||||
@lang('admin/users/table.updateuser')
|
||||
{{ $user->fullName() }}
|
||||
@elseif(isset($clone_user))
|
||||
@lang('admin/users/table.cloneuser')
|
||||
@else
|
||||
@lang('admin/users/table.createuser')
|
||||
@endif
|
||||
</h3>
|
||||
</div>
|
||||
|
||||
Executable → Regular
+17
-3
@@ -5,7 +5,7 @@
|
||||
View User {{{ $user->fullName() }}} ::
|
||||
@parent
|
||||
@stop
|
||||
xxx
|
||||
|
||||
{{-- Page content --}}
|
||||
@section('content')
|
||||
|
||||
@@ -26,8 +26,22 @@ xxx
|
||||
<a href="{{ route('restore/user', $user->id) }}" class="btn-flat white large pull-right edit"><i class="icon-pencil"></i> Restore This User</a>
|
||||
|
||||
@else
|
||||
<a href="{{ route('update/user', $user->id) }}" class="btn btn-warning pull-right edit"><i class="icon-pencil"></i> @lang('button.edit') This User</a>
|
||||
|
||||
<!--<a href="{{ route('update/user', $user->id) }}" class="btn btn-warning pull-right edit"><i class="icon-pencil"></i> @lang('button.edit') This User</a>-->
|
||||
<div class="row header">
|
||||
|
||||
<div class="btn-group pull-right">
|
||||
<button class="btn gray">@lang('button.actions')</button>
|
||||
<!-- Height being thrown off by sub-container -->
|
||||
<button class="btn glow dropdown-toggle" style="height: 27.5" data-toggle="dropdown">
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="{{ route('update/user', $user->id) }}">@lang('admin/users/general.edit')</a></li>
|
||||
<li><a href="{{ route('clone/user', $user->id) }}">@lang('admin/users/general.clone')</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
<div>All the users!</div>
|
||||
|
||||
Reference in New Issue
Block a user