1
0
mirror of https://github.com/cydrobolt/polr.git synced 2024-09-19 23:21:47 +02:00

Remove hacky fixes for API data and DRY

This commit is contained in:
Chaoyi Zha 2016-12-02 19:29:25 -05:00
parent 5e21f2efc0
commit e2314dd8ff
5 changed files with 7 additions and 25 deletions

View File

@ -7,10 +7,10 @@ use App\Helpers\CryptoHelper;
use App\Helpers\UserHelper;
class UserFactory {
public static function createUser($username, $email, $password, $active=0, $ip='127.0.0.1', $api_key=false, $api_active=0, $role='') {
public static function createUser($username, $email, $password, $active=0, $ip='127.0.0.1', $api_key=false, $api_active=0, $role=UserHelper::USER_ROLES['default']) {
$hashed_password = Hash::make($password);
$recovery_key = CryptoHelper::generateRandomHex(50);
$user = new User;
$user->username = $username;
$user->password = $hashed_password;
@ -18,14 +18,11 @@ class UserFactory {
$user->recovery_key = $recovery_key;
$user->active = $active;
$user->ip = $ip;
$role = ($role == '') ? UserHelper::USER_ROLES['default'] : $role;
$user->role = $role;
$user->api_key = $api_key;
$user->api_active = $api_active;
$user->save();
return $user;
}

View File

@ -109,8 +109,4 @@ class UserHelper {
public static function getUserByEmail($email, $inactive=false) {
return self::getUserBy('email', $email, $inactive);
}
public static function canonicalUserRole($role) {
return self::USER_ROLES[$role];
}
}

View File

@ -31,7 +31,7 @@ class AdminController extends Controller {
return view('admin', [
'role' => $role,
'admin_role' => UserHelper::canonicalUserRole('admin'),
'admin_role' => UserHelper::USER_ROLES['admin'],
'user_roles' => UserHelper::USER_ROLES,
'api_key' => $user->api_key,
'api_active' => $user->api_active,

View File

@ -22,7 +22,7 @@ class AdminPaginationController extends Controller {
->addColumn('api_action', function ($user) {
// Add "API Info" action button
return '<a class="activate-api-modal btn btn-sm btn-info"
ng-click="openAPIModal($event, \'' . $user->username . '\', \'' . $user->id . '\')" id="api_info_btn_' . $user->id . '" data-api-active="' . $user->api_active . '" data-api-key="' . $user->api_key . '" data-api-quota="' . $user->api_quota . '">
ng-click="openAPIModal($event, \'' . $user->username . '\', \'' . $user->api_key . '\', \'' . $user->api_active . '\', \'' . $user->api_quota . '\', \'' . $user->id . '\')">
API info
</a>';
})
@ -42,8 +42,7 @@ class AdminPaginationController extends Controller {
$btn_color_class = ' btn-danger';
}
return '<a class="btn btn-sm status-display' . $btn_color_class . $btn_class . '" ng-click="toggleUserActiveStatus($event)" '
. 'data-user-id="' . $user->id . '">' . $active_text . '</a>';
return '<a class="btn btn-sm status-display' . $btn_color_class . $btn_class . '" ng-click="toggleUserActiveStatus($event, ' . $user->id . ')">' . $active_text . '</a>';
})
->addColumn('change_role', function ($user) {
// Add "change role" select box

View File

@ -96,9 +96,8 @@ polr.controller('AdminCtrl', function($scope, $compile) {
/*
User Management
*/
$scope.toggleUserActiveStatus = function($event) {
$scope.toggleUserActiveStatus = function($event, user_id) {
var el = $($event.target);
var user_id = el.data('user-id');
apiCall('admin/toggle_user_active', {
'user_id': user_id,
@ -118,7 +117,6 @@ polr.controller('AdminCtrl', function($scope, $compile) {
var response = true;
$('.new-user-fields input').each(function () {
console.log($(this).attr('id'));
if ($(this).val().trim() == '' || response == false) {
response = false;
}
@ -192,7 +190,6 @@ polr.controller('AdminCtrl', function($scope, $compile) {
} else {
status_display_elem.text(new_status);
}
$('a#api_info_btn_' + user_id).attr('data-api-key', new_status);
});
};
@ -204,7 +201,6 @@ polr.controller('AdminCtrl', function($scope, $compile) {
apiCall('admin/toggle_api_active', {
'user_id': user_id,
}, function(new_status) {
$('a#api_info_btn_' + user_id).attr('data-api-active', new_status);
new_status = res_value_to_text(new_status);
status_display_elem.text(new_status);
});
@ -219,19 +215,13 @@ polr.controller('AdminCtrl', function($scope, $compile) {
'user_id': user_id,
'new_quota': parseInt(new_quota)
}, function(next_action) {
$('a#api_info_btn_' + user_id).attr('data-api-quota', new_quota);
toastr.success("Quota successfully changed.", "Success");
});
};
// Open user API settings menu
$scope.openAPIModal = function($event, username, user_id) {
$scope.openAPIModal = function($event, username, api_key, api_active, api_quota, user_id) {
var el = $($event.target);
api_active = $('a#api_info_btn_' + user_id).attr('data-api-active');
api_key = $('a#api_info_btn_' + user_id).attr('data-api-key');
api_quota = $('a#api_info_btn_' + user_id).attr('data-api-quota');
var markup = $('#api-modal-template').html();
var modal_id = "api-modal-" + username;