PageRenderTime 51ms CodeModel.GetById 12ms RepoModel.GetById 1ms app.codeStats 0ms

/controllers/default/c_users_and_groups.php

https://github.com/Spencerx/OnApp-PHP-Frontend
PHP | 1394 lines | 904 code | 250 blank | 240 comment | 70 complexity | 2cfa1dc46099a4b3f3d0fef3969dd098 MD5 | raw file

Large files files are truncated, but you can click here to view the full file

  1. <?php
  2. require_once( ONAPP_PATH . ONAPP_DS . 'controllers' . ONAPP_DS . ONAPP_CONTROLLERS . ONAPP_DS . 'controller.php');
  3. class Users_and_Groups extends Controller {
  4. /**
  5. * Main controller function
  6. *
  7. * @return void
  8. */
  9. public function view() {
  10. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  11. $id = onapp_get_arg('id');
  12. $action = onapp_get_arg('action');
  13. onapp_debug('id => ' . $id . ' action => ' . $action);
  14. switch ($action) {
  15. case 'details':
  16. $this->show_template_details($id);
  17. break;
  18. case 'statistics':
  19. $this->show_template_statistics($id);
  20. break;
  21. case 'payment_edit':
  22. $this->payment_edit($id);
  23. break;
  24. case 'payment_create':
  25. $this->payment_create($id);
  26. break;
  27. case 'payment_delete':
  28. $this->payment_delete($id);
  29. break;
  30. case 'payments':
  31. $this->show_template_payments($id);
  32. break;
  33. case 'billing_plan':
  34. $this->show_template_billing_plan($id);
  35. break;
  36. case 'white_list':
  37. $this->show_template_white_list($id);
  38. break;
  39. case 'white_list_create':
  40. $this->white_list_create($id);
  41. break;
  42. case 'white_list_delete':
  43. $this->white_list_delete($id);
  44. break;
  45. case 'white_list_edit':
  46. $this->white_list_edit($id);
  47. break;
  48. case 'edit':
  49. $this->edit($id);
  50. break;
  51. case 'create':
  52. $this->create();
  53. break;
  54. case 'delete':
  55. $this->delete($id);
  56. break;
  57. case 'suspend':
  58. $this->suspend($id);
  59. break;
  60. case 'activate':
  61. $this->activate($id);
  62. break;
  63. case 'monthly_bills':
  64. $this->show_template_monthly_bills( $id );
  65. break;
  66. case 'groups':
  67. $this->show_template_groups( );
  68. break;
  69. case 'group_delete':
  70. $this->group_delete( $id );
  71. break;
  72. case 'group_create':
  73. $this->group_create( );
  74. break;
  75. case 'group_edit':
  76. $this->group_edit( $id );
  77. break;
  78. case 'roles':
  79. $this->show_template_roles( );
  80. break;
  81. case 'role_edit':
  82. $this->role_edit( $id );
  83. break;
  84. case 'role_delete':
  85. $this->role_delete( $id );
  86. break;
  87. case 'role_create':
  88. $this->role_create( );
  89. break;
  90. default:
  91. $this->show_template_view();
  92. break;
  93. }
  94. }
  95. /**
  96. * Displays default page with users list
  97. *
  98. * @param string error message
  99. * @return void
  100. */
  101. private function show_template_view( $error = NULL ) {
  102. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  103. onapp_debug( 'error => ' . print_r( $error, true ) );
  104. $onapp = $this->get_factory();
  105. onapp_permission(array('users', 'users.read.own', 'users.read'));
  106. $user_obj = $this->getList('User');
  107. foreach ($user_obj as $user) {
  108. $user_group = $onapp->factory('UserGroup', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
  109. if ($user->_user_group_id) {
  110. $user_group_obj = $user_group->load($user->_user_group_id);
  111. $user_group_labels[$user->_id] = $user_group_obj->_label;
  112. }
  113. }
  114. $params = array(
  115. 'user_group_labels' => $user_group_labels,
  116. 'user_obj' => $user_obj,
  117. 'title' => onapp_string('USERS_'),
  118. 'info_title' => onapp_string('USERS_AND_GROUPS'),
  119. 'info_body' => onapp_string('USERS_AND_GROUPS_INFO'),
  120. 'error' => $error,
  121. );
  122. onapp_show_template('usersAndGroups_view', $params);
  123. }
  124. /**
  125. * Displays particular user details page
  126. *
  127. * @param string error message
  128. * @return void
  129. */
  130. private function show_template_details($id, $error = NULL) {
  131. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  132. onapp_debug('error => ' . print_r( $error, true) );
  133. onapp_permission(array('users', 'users.read.own', 'users.read'));
  134. $user_obj = $this->load('User', array($id) );
  135. if( $user_obj->_user_group_id ) {
  136. $user_group_obj = $this->load('UserGroup', array($user_obj->_user_group_id) );
  137. }
  138. else {
  139. $user_group_obj = NULL;
  140. }
  141. //TODO Add resource table Ticket #
  142. $params = array(
  143. 'user_id' => $user_obj->_id,
  144. 'payment_obj' => $this->getList('Payment', array($user_obj->_id)),
  145. 'user_group_obj' => $user_group_obj,
  146. 'user_obj' => $user_obj,
  147. 'billing_plan_obj' => $this->load('BillingPlan', array($user_obj->_billing_plan_id)),
  148. 'title' => onapp_string('USER_INFORMATION'),
  149. 'info_title' => onapp_string('USER_INFORMATION'),
  150. 'info_body' => onapp_string('USER_INFORMATION_INFO'),
  151. 'error' => $error,
  152. );
  153. onapp_show_template('usersAndGroups_details', $params);
  154. }
  155. /**
  156. * Shows user payments page
  157. *
  158. * @param string error message
  159. * @return void
  160. */
  161. private function show_template_payments($id, $error = NULL) {
  162. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  163. onapp_debug('error => ' . print_r( $error, true) . 'id =>' . $id);
  164. onapp_permission(array('payments', 'payments.read.own', 'payments.read'));
  165. $user_obj = $this->load('User', array($id));
  166. $params = array(
  167. 'user_id' => $id,
  168. 'payment_obj' => $this->getList('Payment', array($id)),
  169. 'billing_plan_obj' => $this->load('BillingPlan', array($user_obj->_billing_plan_id)),
  170. 'title' => onapp_string('PAYMENTS_FOR_THIS_USER'),
  171. 'info_title' => onapp_string('PAYMENTS_FOR_THIS_USER'),
  172. 'info_body' => onapp_string('PAYMENTS_FOR_THIS_USER_INFO'),
  173. 'error' => $error,
  174. );
  175. onapp_show_template('usersAndGroups_payments', $params);
  176. }
  177. /**
  178. * Shows user roles page
  179. *
  180. * @param string error message
  181. * @return void
  182. */
  183. private function show_template_roles( $error = NULL ) {
  184. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  185. onapp_debug('error => ' . print_r( $error, true ) );
  186. onapp_permission(array('roles', 'roles.read.own', 'roles.read'));
  187. $params = array(
  188. 'roles_obj' => $this->getList( 'Role' ),
  189. 'title' => onapp_string('ROLES_'),
  190. 'info_title' => onapp_string('ROLES_'),
  191. 'info_body' => onapp_string('ROLES_INFO'),
  192. 'error' => $error,
  193. );
  194. onapp_show_template('usersAndGroups_roles', $params);
  195. }
  196. /**
  197. * Shows user payment create page
  198. *
  199. * @param integer user id
  200. * @return void
  201. */
  202. private function show_template_payment_create($id) {
  203. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  204. onapp_debug('id =>' . $id);
  205. onapp_permission(array('payments', 'payments.create'));
  206. $params = array(
  207. 'user_obj' => $this->load('User', array($id)),
  208. 'user_id' => $id,
  209. 'title' => onapp_string('ADD_NEW_PAYMENT'),
  210. 'info_title' => onapp_string('ADD_NEW_PAYMENT'),
  211. 'info_body' => onapp_string('ADD_NEW_PAYMENT_INFO'),
  212. );
  213. onapp_show_template('usersAndGroups_paymentCreate', $params);
  214. }
  215. /**
  216. * Shows user role create page
  217. *
  218. * @return void
  219. */
  220. private function show_template_role_create( ) {
  221. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  222. onapp_permission( array ( 'roles', 'roles.create' ) );
  223. $permission_obj = $this->getList( 'Role_Permission' );
  224. foreach ( $permission_obj as $permission) {
  225. $permission_array [$permission->_id] = array( '_label' => $permission->_label, 'identifier' => $permission->_identifier, 'id' => $permission->_id ) ;
  226. }
  227. $items_per_page = 15;
  228. $params = array(
  229. 'permission_obj' => $this->getList( 'Role_Permission' ),
  230. 'checked_role_ids_js' => json_encode( array() ),
  231. 'items_per_page' => $items_per_page,
  232. 'pages_quantity' => round( count( $permission_obj ) / $items_per_page ) ,
  233. 'permission_array' => json_encode( $permission_array ),
  234. 'title' => onapp_string('CREATE_NEW_ROLE'),
  235. 'info_title' => onapp_string('CREATE_NEW_ROLE'),
  236. 'info_body' => onapp_string('CREATE_NEW_ROLE_INFO'),
  237. );
  238. onapp_show_template('usersAndGroups_roleCreate', $params);
  239. }
  240. /**
  241. * Shows user group create page
  242. *
  243. * @param integer user id
  244. * @return void
  245. */
  246. private function show_template_group_create( ) {
  247. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  248. onapp_permission(array('groups', 'groups.create'));
  249. $params = array(
  250. 'title' => onapp_string('ADD_A_NEW_USER_GROUP'),
  251. 'info_title' => onapp_string('ADD_A_NEW_USER_GROUP'),
  252. 'info_body' => onapp_string('ADD_A_NEW_USER_GROUP_INFO'),
  253. );
  254. onapp_show_template('usersAndGroups_groupCreate', $params);
  255. }
  256. /**
  257. * Shows user groups page
  258. *
  259. * @param integer user id
  260. * @return void
  261. */
  262. private function show_template_groups( $error = NULL ) {
  263. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  264. onapp_permission( array( 'groups', 'groups.read', 'groups.read.own' ) );
  265. $onapp = $this->get_factory();
  266. $user_group_obj = $this->getList( 'UserGroup');
  267. $user = $onapp->factory('User', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
  268. foreach ( $user_group_obj as $group ) {
  269. $user_obj = $user->getListByGroupId( $group->_id );
  270. if ( $user_obj[0] ) {
  271. $group_users_quantity [$group->_id] = count($user_obj);
  272. }
  273. else {
  274. $group_users_quantity [$group->_id] = 0;
  275. }
  276. }
  277. $params = array(
  278. 'group_users_quantity' => $group_users_quantity,
  279. 'user_groups_obj' => $user_group_obj,
  280. 'title' => onapp_string('USER_GROUPS'),
  281. 'info_title' => onapp_string('USER_GROUPS'),
  282. 'info_body' => onapp_string('USER_GROUPS_INFO'),
  283. 'error'=> $error,
  284. );
  285. onapp_show_template('usersAndGroups_groups', $params);
  286. }
  287. /**
  288. * Shows user white list IP create page
  289. *
  290. * @param integer user id
  291. * @return void
  292. */
  293. private function show_template_white_list_create($id) {
  294. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  295. onapp_debug('id =>' . $id);
  296. onapp_permission(array('user_white_lists', 'user_white_lists.create'));
  297. $params = array(
  298. 'user_id' => $id,
  299. 'title' => onapp_string('ADD_NEW_WHITE_IP'),
  300. 'info_title' => onapp_string('ADD_NEW_WHITE_IP'),
  301. 'info_body' => onapp_string('ADD_NEW_WHITE_IP_INFO'),
  302. );
  303. onapp_show_template('usersAndGroups_whiteListCreate', $params);
  304. }
  305. /**
  306. * Shows user monthly bills page
  307. *
  308. * @param integer user id
  309. * @return void
  310. */
  311. private function show_template_monthly_bills( $id ) {
  312. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  313. onapp_debug('id =>' . $id);
  314. onapp_permission( array( 'monthly_bills', 'monthly_bills.read.own', 'monthly_bills.read'));
  315. $monthes = array (
  316. '1' => 'JANUARY_',
  317. '2' => 'FABRUARY_',
  318. '3' => 'MARCH_',
  319. '4' => 'APRIL_',
  320. '5' => 'MAY_',
  321. '6' => 'JUNE_',
  322. '7' => 'JULY_',
  323. '8' => 'AUGUST_',
  324. '9' => 'SEPTEMBER_',
  325. '10' => 'OCTOBER_',
  326. '11' => 'NOVEMBER_',
  327. '12' => 'DECEMBER_',
  328. );
  329. $user_obj = $this->load( 'User', array( $id) );
  330. $monthly_bills_obj = $this->getList( 'User_MonthlyBill', array( $id ) );
  331. $total_amount = 0;
  332. foreach ($monthly_bills_obj as $bill) {
  333. $total_amount += $bill->_cost;
  334. }
  335. $params = array(
  336. 'total_amount' => $total_amount,
  337. 'monthes' => $monthes,
  338. 'user_obj' => $user_obj,
  339. 'user_id' => $id,
  340. 'billing_plan_obj' => $this->load( 'BillingPlan', array( $user_obj->_billing_plan_id ) ),
  341. 'monthly_bills_obj' => $monthly_bills_obj,
  342. 'title' => onapp_string('YEARLY_USER_BILLS_PER_A_MONTH'),
  343. 'info_title' => onapp_string('YEARLY_USER_BILLS_PER_A_MONTH'),
  344. 'info_body' => onapp_string('YEARLY_USER_BILLS_PER_A_MONTH'),
  345. );
  346. onapp_show_template('usersAndGroups_monthlyBills', $params);
  347. }
  348. /**
  349. * Shows user payment edit page
  350. *
  351. * @param integer user payment id
  352. * @return void
  353. */
  354. private function show_template_payment_edit($id) {
  355. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  356. onapp_debug('id =>' . $id);
  357. onapp_permission(array('payments', 'payments.update'));
  358. $user_id = onapp_get_arg('user_id');
  359. onapp_debug('user_id => ' . $user_id);
  360. $params = array(
  361. 'user_obj'=> $this->load( 'User', array( $id ) ),
  362. 'id' => $id,
  363. 'payment_obj' => $this->load('Payment', array($id, $user_id)),
  364. 'user_id' => $user_id,
  365. 'title' => onapp_string('EDIT_PAYMENT'),
  366. 'info_title' => onapp_string('EDIT_PAYMENT'),
  367. 'info_body' => onapp_string('EDIT_PAYMENT_INFO'),
  368. );
  369. onapp_show_template('usersAndGroups_paymentEdit', $params);
  370. }
  371. /**
  372. * Shows user role edit page
  373. *
  374. * @param integer user role id
  375. * @return void
  376. */
  377. private function show_template_role_edit( $id ) {
  378. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  379. onapp_debug('id =>' . $id);
  380. onapp_permission(array('roles', 'roles.update'));
  381. $role_obj = $this->load('Role', array( $id ) );
  382. foreach ( $role_obj->_permissions as $permission ) {
  383. $checked_role_ids [] = $permission->_id;
  384. }
  385. $permission_obj = $this->getList( 'Role_Permission' );
  386. foreach ( $permission_obj as $permission) {
  387. $permission_array [$permission->_id] = array( '_label' => $permission->_label, 'identifier' => $permission->_identifier, 'id' => $permission->_id ) ;
  388. }
  389. $items_per_page = 15;
  390. $params = array(
  391. 'permission_obj' => $this->getList( 'Role_Permission' ),
  392. 'items_per_page' => $items_per_page,
  393. 'pages_quantity' => round( count( $permission_obj ) / $items_per_page ) ,
  394. 'permission_array' => json_encode( $permission_array ),
  395. 'role_obj' => $role_obj,
  396. 'checked_role_ids' => $checked_role_ids,
  397. 'checked_role_ids_js' => json_encode( $checked_role_ids ),
  398. 'id' => $id,
  399. 'title' => onapp_string('EDIT_ROLE'),
  400. 'info_title' => onapp_string('EDIT_ROLE'),
  401. 'info_body' => onapp_string('EDIT_ROLE_INFO'),
  402. );
  403. onapp_show_template('usersAndGroups_roleEdit', $params);
  404. }
  405. /**
  406. * Shows user group edit page
  407. *
  408. * @param integer user group id
  409. * @return void
  410. */
  411. private function show_template_group_edit($id) {
  412. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  413. onapp_debug('id =>' . $id);
  414. onapp_permission(array('groups', 'groups.update'));
  415. $params = array(
  416. 'id' => $id,
  417. 'group_obj' => $this->load('UserGroup', array( $id ) ),
  418. 'title' => onapp_string('EDIT_USER_GROUP'),
  419. 'info_title' => onapp_string('EDIT_USER_GROUP'),
  420. 'info_body' => onapp_string('EDIT_USER_GROUP_INFO'),
  421. );
  422. onapp_show_template('usersAndGroups_groupEdit', $params);
  423. }
  424. /**
  425. * Shows user white list IP edit page
  426. *
  427. * @param integer user white list IP id
  428. * @return void
  429. */
  430. private function show_template_white_list_edit($id) {
  431. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  432. onapp_debug('id =>' . $id);
  433. onapp_permission(array('user_white_lists', 'user_white_lists.update'));
  434. $user_id = onapp_get_arg('user_id');
  435. onapp_debug('user_id => ' . $user_id);
  436. $params = array(
  437. 'id' => $id,
  438. 'white_list_obj' => $this->load('User_WhiteList', array($id, $user_id)),
  439. 'user_id' => $user_id,
  440. 'title' => onapp_string('EDIT_WHITE_IP'),
  441. 'info_title' => onapp_string('EDIT_WHITE_IP'),
  442. 'info_body' => onapp_string('EDIT_WHITE_IP_INFO'),
  443. );
  444. onapp_show_template('usersAndGroups_whiteListEdit', $params);
  445. }
  446. /**
  447. * Shows user profile edit page
  448. *
  449. * @param integer user id
  450. * @return void
  451. */
  452. private function show_template_edit($id) {
  453. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  454. onapp_debug('id =>' . $id);
  455. onapp_permission(array('users', 'users.update'));
  456. require_once( ONAPP_PATH . ONAPP_DS . 'constants' . ONAPP_DS . 'time_zones.php');
  457. $user_obj = $this->load('User', array($id));
  458. foreach ($user_obj->_roles as $role) {
  459. $user_role_ids[] = $role->_id;
  460. }
  461. $params = array(
  462. 'user_id' => $id,
  463. 'user_group_obj' => $this->getList('UserGroup'),
  464. 'user_role_ids' => $user_role_ids,
  465. 'role_obj' => $this->getList('Role'),
  466. 'billing_plans_obj' => $this->getList('BillingPlan'),
  467. 'billing_plan_obj' => $this->load('BillingPlan', array($user_obj->_billing_plan_id)),
  468. 'time_zones' => $time_zones,
  469. 'user_obj' => $user_obj,
  470. 'user_id' => $id,
  471. 'title' => onapp_string('EDIT_USER'),
  472. 'info_title' => onapp_string('EDIT_USER'),
  473. 'info_body' => onapp_string('EDIT_USER_INFO'),
  474. );
  475. onapp_show_template('usersAndGroups_edit', $params);
  476. }
  477. /**
  478. * Shows a new user create page
  479. *
  480. * @param integer user id
  481. * @return void
  482. */
  483. private function show_template_create() {
  484. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  485. onapp_permission(array('users', 'users.create'));
  486. require_once( ONAPP_PATH . ONAPP_DS . 'constants' . ONAPP_DS . 'time_zones.php');
  487. $params = array(
  488. 'user_group_obj' => $this->getList('UserGroup'),
  489. 'role_obj' => $this->getList('Role'),
  490. 'billing_plans_obj' => $this->getList('BillingPlan'),
  491. 'time_zones' => $time_zones,
  492. 'title' => onapp_string('ADD_A_NEW_USER'),
  493. 'info_title' => onapp_string('ADD_A_NEW_USER'),
  494. 'info_body' => onapp_string('ADD_A_NEW_USER_INFO'),
  495. );
  496. onapp_show_template('usersAndGroups_create', $params);
  497. }
  498. /**
  499. * Shows user statistics page
  500. *
  501. * @param integer user id
  502. * @return void
  503. */
  504. private function show_template_statistics($id) {
  505. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  506. onapp_debug('id =>' . $id);
  507. $onapp = $this->get_factory();
  508. onapp_permission(array('vm_stats', 'vm_stats.read', 'vm_stats.read.own'));
  509. $user_obj = $this->load('User', array($id));
  510. $statistics_obj = $this->getList('User_Statistics', array($id));
  511. $billing_plan_obj = $this->load('BillingPlan', array($user_obj->_billing_plan_id));
  512. $user_vms = $this->getList('VirtualMachine', array( $id ) );
  513. foreach ( $user_vms as $virtual_machine ) {
  514. $vm_ids [$virtual_machine->_id] = $virtual_machine->_label;
  515. }
  516. $vm = $onapp->factory('VirtualMachine', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
  517. foreach ($statistics_obj[0]->_vm_stats as $v_m) {
  518. if ( array_key_exists ( $v_m->_virtual_machine_id, $vm_ids ) ) {
  519. $vm_labels[$v_m->_virtual_machine_id] = $vm_ids[$v_m->_virtual_machine_id];
  520. }
  521. else {
  522. $vm_labels[$v_m->_virtual_machine_id] = 0;
  523. }
  524. }
  525. $params = array(
  526. 'billing_plan_obj' => $billing_plan_obj,
  527. 'vm_labels' => $vm_labels,
  528. 'user_obj' => $user_obj,
  529. 'user_id' => $id,
  530. 'statistics_obj' => $statistics_obj,
  531. 'title' => onapp_string('USER_STATISTICS'),
  532. 'info_title' => onapp_string('USER_STATISTICS'),
  533. 'info_body' => onapp_string('USER_STATISTICS_INFO'),
  534. );
  535. onapp_show_template('usersAndGroups_statistics', $params);
  536. }
  537. /**
  538. * Shows user payments page
  539. *
  540. * @global array $_ALIASES menu page aliases
  541. * @param string error message
  542. * @return void
  543. */
  544. private function show_template_white_list($id, $error = NULL) {
  545. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  546. onapp_debug('error => ' . print_r( $error, true) . ', id =>' . $id);
  547. onapp_permission(array('user_white_lists', 'user_white_lists.read.own', 'user_white_lists.read'));
  548. $params = array(
  549. 'user_id' => $id,
  550. 'white_list_obj' => $this->getList('User_WhiteList', array($id)),
  551. 'title' => onapp_string('WHITE_LIST_IPS_FOR_THIS_USER'),
  552. 'info_title' => onapp_string('WHITE_LIST_IPS_FOR_THIS_USER'),
  553. 'info_body' => onapp_string('WHITE_LIST_IPS_FOR_THIS_USER_INFO'),
  554. 'error' => $error,
  555. );
  556. onapp_show_template('usersAndGroups_whiteList', $params);
  557. }
  558. /**
  559. * Deletes user payment
  560. *
  561. * @global array $_ALIASES menu page aliases
  562. * @param integer user payment id
  563. * @return void
  564. */
  565. private function payment_delete( $id ) {
  566. global $_ALIASES;
  567. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  568. onapp_debug('id => ' . $id);
  569. onapp_permission(array('payments', 'payments.delete'));
  570. $user_id = onapp_get_arg('user_id');
  571. onapp_debug('user_id => ' . $user_id);
  572. $onapp = $this->get_factory();
  573. $payment = $onapp->factory('Payment', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
  574. $payment->_id = $id;
  575. $payment->_user_id = $user_id;
  576. $payment->delete();
  577. onapp_debug( 'payment =>' . print_r( $payment, true ) );
  578. if (is_null($payment->error)) {
  579. onapp_event_exec( 'payment_delete', array( $payment->_obj ) );
  580. $_SESSION['message'] = 'PAYMENT_HAS_BEEN_DELETED_SUCCESSFULLY';
  581. onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES['users_and_groups'] . '?action=payments&id=' . $user_id);
  582. }
  583. else {
  584. onapp_event_exec( 'payment_delete_failed', array( $payment->_obj ) );
  585. trigger_error ( print_r( $payment_obj->error, true ) );
  586. $this->show_template_payments($payment->error);
  587. }
  588. }
  589. /**
  590. * Deletes user role
  591. *
  592. * @global array $_ALIASES menu page aliases
  593. * @param integer user role id
  594. * @return void
  595. */
  596. private function role_delete( $id ) {
  597. global $_ALIASES;
  598. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  599. onapp_debug('id => ' . $id);
  600. onapp_permission(array('roles', 'roles.delete'));
  601. $onapp = $this->get_factory();
  602. $role = $onapp->factory( 'Role', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
  603. $role->_id = $id;
  604. $role->delete();
  605. onapp_debug( 'role =>' . print_r( $role, true ) );
  606. if ( is_null( $role->error ) ) {
  607. onapp_event_exec( 'role_delete', array( $payment->_obj ) );
  608. $_SESSION['message'] = 'ROLE_HAS_BEEN_DELETED_SUCCESSFULLY';
  609. onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES['users_and_groups'] . '?action=roles' );
  610. }
  611. else {
  612. onapp_event_exec( 'role_delete_failed', array( $payment->_obj ) );
  613. trigger_error ( print_r( $role->error, true ) );
  614. $this->show_template_roles( $role->error );
  615. }
  616. }
  617. /**
  618. * Deletes user group
  619. *
  620. * @global array $_ALIASES menu page aliases
  621. * @param integer user group id
  622. * @return void
  623. */
  624. private function group_delete ( $id ) {
  625. global $_ALIASES;
  626. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  627. onapp_debug('id => ' . $id);
  628. onapp_permission(array('groups', 'groups.delete'));
  629. $onapp = $this->get_factory();
  630. $group = $onapp->factory('UserGroup', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
  631. $group->_id = $id;
  632. $group->delete();
  633. onapp_debug( 'group =>' . print_r( $group, true ) );
  634. if (is_null($group->error)) {
  635. onapp_event_exec( 'group_delete', array( $group->_obj ) );
  636. $_SESSION['message'] = 'GROUP_HAS_BEEN_DELETED_SUCCESSFULLY';
  637. onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES['users_and_groups'] . '?action=groups' );
  638. }
  639. else {
  640. onapp_event_exec( 'group_delete_failed', array( $group->_obj ) );
  641. trigger_error ( print_r( $group->error, true ) );
  642. $this->show_template_groups($group->error);
  643. }
  644. }
  645. /**
  646. * Deletes user (erase completly when user for the second time)
  647. *
  648. * @global array $_ALIASES menu page aliases
  649. * @param integer user id
  650. * @return void
  651. */
  652. private function delete($id) {
  653. global $_ALIASES;
  654. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  655. onapp_debug('id => ' . $id);
  656. onapp_permission(array('users', 'users.delete'));
  657. $onapp = $this->get_factory();
  658. $user = $onapp->factory('User', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
  659. $user->_id = $id;
  660. $user->delete();
  661. onapp_debug( 'user =>' . print_r( $user, true ) );
  662. if (is_null($user->error)) {
  663. onapp_event_exec( 'user_delete' );
  664. $_SESSION['message'] = 'USER_HAS_BEEN_DELETED_SUCCESSFULLY';
  665. onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES['users_and_groups'] . '?action=view');
  666. }
  667. else {
  668. onapp_event_exec( 'user_delete_failed' );
  669. trigger_error ( print_r( $user->error, true ) );
  670. $this->show_template_view($user->error);
  671. }
  672. }
  673. /**
  674. * Suspends user
  675. *
  676. * @global array $_ALIASES menu page aliases
  677. * @param integer user id
  678. * @return void
  679. */
  680. private function suspend($id) {
  681. global $_ALIASES;
  682. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  683. onapp_debug('id => ' . $id);
  684. onapp_permission(array('users', 'users.suspend'));
  685. $onapp = $this->get_factory();
  686. $user = $onapp->factory('User', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
  687. $user->_id = $id;
  688. $user->suspend();
  689. onapp_debug( 'suspend =>' . print_r( $suspend, true ) );
  690. if (is_null($user->error)) {
  691. onapp_event_exec( 'user_suspend', array( $user->_obj ) );
  692. $_SESSION['message'] = 'USER_STATUS_CHANGED_TO_SUSPENDED';
  693. onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES['users_and_groups'] . '?action=view');
  694. }
  695. else {
  696. onapp_event_exec( 'user_suspend_failed', array( $user->_obj ) );
  697. trigger_error ( print_r( $user->error, true ) );
  698. $this->show_template_view($user->error);
  699. }
  700. }
  701. /**
  702. * Activates user
  703. *
  704. * @global array $_ALIASES menu page aliases
  705. * @param integer user id
  706. * @return void
  707. */
  708. private function activate($id) {
  709. global $_ALIASES;
  710. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  711. onapp_debug('id => ' . $id);
  712. onapp_permission(array('users', 'users.activate'));
  713. $onapp = $this->get_factory();
  714. $user = $onapp->factory('User', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
  715. $user->_id = $id;
  716. $user->activate_user();
  717. onapp_debug( 'user =>' . print_r( $user, true ) );
  718. if (is_null($user->error)) {
  719. onapp_event_exec( 'user_activate', array( $user->_obj ) );
  720. $_SESSION['message'] = 'USER_ACTIVATION_SUCCESSFULL';
  721. onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES['users_and_groups'] . '?action=view');
  722. }
  723. else {
  724. onapp_event_exec( 'user_activate_failed', array( $user->_obj ) );
  725. trigger_error ( print_r( $user->error, true ) );
  726. $this->show_template_view($user->error);
  727. }
  728. }
  729. /**
  730. * Creates new user payment
  731. *
  732. * @global array $_ALIASES menu page aliases
  733. * @param integer user id
  734. * @return void
  735. */
  736. private function payment_create( $id ) {
  737. global $_ALIASES;
  738. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  739. onapp_debug('id => ' . $id);
  740. onapp_permission(array('payments', 'payments.create'));
  741. $payment = onapp_get_arg('payment');
  742. if (is_null($payment)) {
  743. $this->show_template_payment_create($id);
  744. } else {
  745. $onapp = $this->get_factory();
  746. $payment_obj = $onapp->factory('Payment', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
  747. foreach ($payment as $key => $value)
  748. $payment_obj->$key = $value;
  749. $payment_obj->_user_id = $id;
  750. $payment_obj->save();
  751. onapp_debug( 'payment_obj =>' . print_r( $payment_obj, true ) );
  752. if (is_null($payment_obj->error)) {
  753. onapp_event_exec( 'payment_create', array( $payment_obj->_obj ) );
  754. $_SESSION['message'] = 'PAYMENT_HAS_BEEN_CREATED_SUCCESSFULLY';
  755. onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES['users_and_groups'] . '?action=payments&id=' . $id);
  756. }
  757. else {
  758. onapp_event_exec( 'payment_create_failed', array( $payment_obj->_obj ) );
  759. trigger_error ( print_r( $payment_obj->error, true ) );
  760. $this->show_template_payments($id, $payment_obj->error);
  761. }
  762. }
  763. }
  764. /**
  765. * Creates new user role
  766. *
  767. * @global array $_ALIASES menu page aliases
  768. * @return void
  769. */
  770. private function role_create( ) {
  771. global $_ALIASES;
  772. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  773. onapp_permission( array( 'roles', 'roles.create' ) );
  774. $role = onapp_get_arg( 'role' );
  775. if ( is_null( $role ) ) {
  776. $this->show_template_role_create( );
  777. } else {
  778. foreach ( $role['_permission_ids'] as $key => $field) {
  779. if ($field == 0) {
  780. unset($role['_permission_ids'][$key]);
  781. }
  782. }
  783. $role['_permission_ids'] = array_values( $role['_permission_ids'] );
  784. $onapp = $this->get_factory();
  785. $role_obj = $onapp->factory('Role', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
  786. foreach ($role as $key => $value)
  787. $role_obj->$key = $value;
  788. $role_obj->save();
  789. onapp_debug( 'role_obj =>' . print_r( $role_obj, true ) );
  790. if ( is_null($role_obj->error) ) {
  791. onapp_event_exec( 'role_create', array( $role_obj->_obj ) );
  792. $_SESSION['message'] = 'ROLE_HAS_BEEN_CREATED_SUCCESSFULLY';
  793. onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES['users_and_groups'] . '?action=roles' );
  794. }
  795. else {
  796. onapp_event_exec( 'role_create_failed', array( $role_obj->_obj ) );
  797. trigger_error ( print_r( $role_obj->error, true ) );
  798. $this->show_template_roles( $role_obj->error);
  799. }
  800. }
  801. }
  802. /**
  803. * Creates new user group
  804. *
  805. * @global array $_ALIASES menu page aliases
  806. * @param integer user id
  807. * @return void
  808. */
  809. private function group_create( ) {
  810. global $_ALIASES;
  811. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  812. onapp_permission(array('groups', 'groups.create'));
  813. $group = onapp_get_arg('group');
  814. if (is_null($group)) {
  815. $this->show_template_group_create( );
  816. } else {
  817. $onapp = $this->get_factory();
  818. $group_obj = $onapp->factory('UserGroup', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
  819. foreach ($group as $key => $value)
  820. $group_obj->$key = $value;
  821. //TODO delete this when fixed Ticket #2511
  822. $group_obj->_tagRoot = 'pack';
  823. //*****************************
  824. $group_obj->save();
  825. onapp_debug( 'group_obj =>' . print_r( $group_obj, true ) );
  826. if (is_null($group_obj->error)) {
  827. onapp_event_exec( 'group_create', array( $group_obj->_obj ) );
  828. $_SESSION['message'] = 'GROUP_HAS_BEEN_CREATED_SUCCESSFULLY';
  829. onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES['users_and_groups'] . '?action=groups' );
  830. }
  831. else {
  832. onapp_event_exec( 'group_create_failed', array( $group_obj->_obj ) );
  833. trigger_error ( print_r( $group_obj->error, true ) );
  834. $this->show_template_groups( $group_obj->error );
  835. }
  836. }
  837. }
  838. /**
  839. * Creates new user white list IP
  840. *
  841. * @global array $_ALIASES menu page aliases
  842. * @param integer user id
  843. * @return void
  844. */
  845. private function white_list_create($id) {
  846. global $_ALIASES;
  847. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  848. onapp_debug('id => ' . $id);
  849. onapp_permission(array('user_white_lists', 'user_white_lists.create'));
  850. $white_list = onapp_get_arg('white_list');
  851. if (is_null($white_list)) {
  852. $this->show_template_white_list_create($id);
  853. } else {
  854. $onapp = $this->get_factory();
  855. $white_list_obj = $onapp->factory('User_WhiteList', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
  856. foreach ($white_list as $key => $value)
  857. $white_list_obj->$key = $value;
  858. $white_list_obj->_user_id = $id;
  859. $white_list_obj->save();
  860. onapp_debug( 'white_list_obj =>' . print_r( $white_list_obj, true ) );
  861. if (is_null($white_list_obj->error)) {
  862. onapp_event_exec( 'white_list_create', array( $white_list_obj->_obj ) );
  863. $_SESSION['message'] = 'USER_WHITE_IP_WAS_SUCCESSFULLY_CREATED';
  864. onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES['users_and_groups'] . '?action=white_list&id=' . $id);
  865. }
  866. else {
  867. onapp_event_exec( 'white_list_create_failed', array( $white_list_obj->_obj ) );
  868. trigger_error ( print_r( $white_list_obj->error, true ) );
  869. $this->show_template_white_list($id, $white_list_obj->error);
  870. }
  871. }
  872. }
  873. /**
  874. * Deletes user white list IP
  875. *
  876. * @global array $_ALIASES menu page aliases
  877. * @param integer white list IP id
  878. * @return void
  879. */
  880. private function white_list_delete($id) {
  881. global $_ALIASES;
  882. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  883. onapp_debug('id => ' . $id);
  884. onapp_permission(array('user_white_lists', 'user_white_lists.delete'));
  885. $user_id = onapp_get_arg('user_id');
  886. onapp_debug('user_id => ' . $user_id);
  887. $onapp = $this->get_factory();
  888. $white_list = $onapp->factory('User_WhiteList', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
  889. $white_list->_id = $id;
  890. $white_list->_user_id = $user_id;
  891. $white_list->delete();
  892. onapp_debug( 'white_list =>' . print_r( $white_list, true ) );
  893. if (is_null($white_list->error)) {
  894. onapp_event_exec( 'white_list_delete', array( $white_list->_obj ) );
  895. $_SESSION['message'] = 'USER_WHITE_IP_WAS_SUCCESSFULLY_DELETED';
  896. onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES['users_and_groups'] . '?action=white_list&id=' . $user_id);
  897. }
  898. else {
  899. onapp_event_exec( 'white_list_delete_failed', array( $white_list->_obj ) );
  900. trigger_error ( print_r( $white_list->error, true ) );
  901. $this->show_template_payments($white_list->error);
  902. }
  903. }
  904. /**
  905. * Edits user white list IP
  906. *
  907. * @global array $_ALIASES menu page aliases
  908. * @param integer user white list IP id
  909. * @return void
  910. */
  911. private function white_list_edit($id) {
  912. global $_ALIASES;
  913. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  914. onapp_debug('id => ' . $id);
  915. onapp_permission(array('user_white_lists', 'user_white_lists.update'));
  916. $user_id = onapp_get_arg('user_id');
  917. $white_list = onapp_get_arg('white_list');
  918. if (is_null($white_list)) {
  919. $this->show_template_white_list_edit($id);
  920. } else {
  921. $onapp = $this->get_factory();
  922. $white_list_obj = $onapp->factory('User_WhiteList', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
  923. foreach ($white_list as $key => $value)
  924. $white_list_obj->$key = $value;
  925. $white_list_obj->_user_id = $user_id;
  926. $white_list_obj->_id = $id;
  927. $white_list_obj->save();
  928. onapp_debug( 'white_list_obj =>' . print_r( $white_list_obj, true ) );
  929. if (is_null($white_list_obj->error)) {
  930. onapp_event_exec( 'white_list_edit', array( $white_list_obj->_obj ) );
  931. $_SESSION['message'] = 'USER_WHITE_IP_WAS_SUCCESSFULLY_UPDATED';
  932. onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES['users_and_groups'] . '?action=white_list&id=' . $user_id);
  933. }
  934. else {
  935. onapp_event_exec( 'white_list_edit_failed', array( $white_list_obj->_obj ) );
  936. trigger_error ( print_r( $white_list_obj->error, true ) );
  937. $this->show_template_payments($user_id, $white_list_obj->error);
  938. }
  939. }
  940. }
  941. /**
  942. * Edits user profile
  943. *
  944. * @global array $_ALIASES menu page aliases
  945. * @param integer user id
  946. * @return void
  947. */
  948. private function edit($id) {
  949. global $_ALIASES;
  950. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  951. onapp_debug('id => ' . $id);
  952. onapp_permission(array('users.update', 'users'));
  953. $user = onapp_get_arg('user');
  954. if (is_null($user)) {
  955. $this->show_template_edit($id);
  956. } else {
  957. $onapp = $this->get_factory();
  958. foreach ($user['_role_ids'] as $key => $field) {
  959. if ($field == 0) {
  960. unset($user['_role_ids'][$key]);
  961. }
  962. }
  963. $user['_role_ids'] = array_values($user['_role_ids']);
  964. $user_obj = $onapp->factory('User', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
  965. foreach ($user as $key => $value)
  966. $user_obj->$key = $value;
  967. $user_obj->_id = $id;
  968. $user_obj->save();
  969. onapp_debug( 'user_obj =>' . print_r( $user_obj, true ) );
  970. if (is_null($user_obj->error)) {
  971. onapp_event_exec( 'user_edit', array( $user_obj->_obj ) );
  972. $_SESSION['message'] = 'USER_PROFILE_HAS_BEEN_UPDATED_SUCCESSFULLY';
  973. onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES['users_and_groups'] . '?action=details&id=' . $id);
  974. }
  975. else {
  976. onapp_event_exec( 'user_edit_failed', array( $user_obj->_obj ) );
  977. trigger_error ( print_r( $user_obj->error, true ) );
  978. $this->show_template_details($id, $user_obj->error);
  979. }
  980. }
  981. }
  982. /**
  983. * Creates a new user
  984. *
  985. * @global array $_ALIASES menu page aliases
  986. * @return void
  987. */
  988. private function create() {
  989. global $_ALIASES;
  990. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  991. onapp_permission(array('users.create', 'users'));
  992. $user = onapp_get_arg('user');
  993. if (is_null($user)) {
  994. $this->show_template_create( );
  995. } else {
  996. $onapp = $this->get_factory();
  997. foreach ($user['_role_ids'] as $key => $field) {
  998. if ($field == 0) {
  999. unset($user['_role_ids'][$key]);
  1000. }
  1001. }
  1002. $user['_role_ids'] = array_values($user['_role_ids']);
  1003. $user_obj = $onapp->factory('User', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
  1004. foreach ($user as $key => $value)
  1005. $user_obj->$key = $value;
  1006. $user_obj->save();
  1007. onapp_debug( 'user_obj =>' . print_r( $user_obj, true ) );
  1008. if (is_null($user_obj->error)) {
  1009. onapp_event_exec( 'user_create', array( $user_obj->_obj ) );
  1010. $_SESSION['message'] = 'USER_HAS_BEEN_CREATED_SUCCESSFULLY';
  1011. onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES['users_and_groups'] . '?action=details&id=' . $user_obj->_id);
  1012. }
  1013. else {
  1014. onapp_event_exec( 'user_create_failed', array( $user_obj->_obj ) );
  1015. trigger_error ( print_r( $user_obj->error, true ) );
  1016. $this->show_template_view($user_obj->error);
  1017. }
  1018. }
  1019. }
  1020. /**
  1021. * Edits user payment
  1022. *
  1023. * @global array $_ALIASES menu page aliases
  1024. * @param integer user payment id
  1025. * @return void
  1026. */
  1027. private function payment_edit($id) {
  1028. global $_ALIASES;
  1029. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  1030. onapp_debug('id => ' . $id);
  1031. onapp_permission(array('payments', 'payments.update'));
  1032. $user_id = onapp_get_arg('user_id');
  1033. $payment = onapp_get_arg('payment');
  1034. if (is_null($payment)) {
  1035. $this->show_template_payment_edit($id);
  1036. } else {
  1037. $onapp = $this->get_factory();
  1038. $payment_obj = $onapp->factory('Payment', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
  1039. foreach ($payment as $key => $value)
  1040. $payment_obj->$key = $value;
  1041. $payment_obj->_user_id = $user_id;
  1042. $payment_obj->_id = $id;
  1043. $payment_obj->save();
  1044. onapp_debug( 'payment_obj =>' . print_r( $payment_obj, true ) );
  1045. if (is_null($payment_obj->error)) {
  1046. onapp_event_exec( 'payment_edit', array( $payment_obj->_obj ) );
  1047. $_SESSION['message'] = 'PAYMENT_HAS_BEEN_UPDATED_SUCCESSFULLY';
  1048. onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES['users_and_groups'] . '?action=payments&id=' . $user_id);
  1049. }
  1050. else {
  1051. onapp_event_exec( 'payment_edit_failed', array( $payment_obj->_obj ) );
  1052. trigger_error ( print_r( $payment_obj->error, true ) );
  1053. $this->show_template_payments($user_id, $payment_obj->error);
  1054. }
  1055. }
  1056. }
  1057. /**
  1058. * Edits user role
  1059. *
  1060. * @global array $_ALIASES menu page aliases
  1061. * @param integer user role id
  1062. * @return void
  1063. */
  1064. private function role_edit( $id ) {
  1065. global $_ALIASES;
  1066. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  1067. onapp_debug('id => ' . $id);
  1068. onapp_permission(array('roles', 'roles.update'));
  1069. $role = onapp_get_arg( 'role' );
  1070. if ( is_null( $role ) ) {
  1071. $this->show_template_role_edit( $id );
  1072. } else {
  1073. foreach ( $role['_permission_ids'] as $key => $field) {
  1074. if ($field == 0) {
  1075. unset($role['_permission_ids'][$key]);
  1076. }
  1077. }
  1078. $role['_permission_ids'] = array_values( $role['_permission_ids'] );
  1079. $onapp = $this->get_factory();
  1080. $role_obj = $onapp->factory('Role', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
  1081. foreach ($role as $key => $value)
  1082. $role_obj->$key = $value;
  1083. $role_obj->_id = $id;
  1084. $role_obj->save();
  1085. onapp_debug( 'role_obj =>' . print_r( $role_obj, true ) );
  1086. if ( is_null($role_obj->error) ) {
  1087. onapp_event_exec( 'role_edit', array( $role_obj->_obj ) );
  1088. $_SESSION['message'] = 'ROLE_HAS_BEEN_UPDATED_SUCCESSFULLY';
  1089. onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES['users_and_groups'] . '?action=roles' );
  1090. }
  1091. else {
  1092. onapp_event_exec( 'role_edit_failed', array( $role_obj->_obj ) );
  1093. trigger_error ( print_r( $role_obj->error, true ) );
  1094. $this->show_template_roles( $role_obj->error);
  1095. }
  1096. }
  1097. }
  1098. /**
  1099. * Edits user group
  1100. *
  1101. * @global array $_ALIASES menu page aliases
  1102. * @param integer user group id
  1103. * @return void
  1104. */
  1105. private function group_edit( $id ) {
  1106. global $_ALIASES;
  1107. onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
  1108. onapp_debug('id => ' . $id);
  1109. onapp_permission(array('groups', 'groups.update'));
  1110. $group = onapp_get_arg('group');
  1111. if ( is_null( $group ) ) {
  1112. $this->show_template_group_edit( $id );
  1113. } else {
  1114. $onapp = $this->get_factory();
  1115. $group_obj = $onapp->factory('UserGroup', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
  1116. foreach ($group as $key => $value)
  1117. $group_obj->$key = $value;
  1118. $group_obj->_id = $id;
  1119. //TODO delete this when fixed Ticket #2511
  1120. $group_obj->_tagRoot = 'pack';
  1121. //*****************************
  1122. $group_obj->save();
  1123. onapp_debug( 'group_obj =>' . print_r( $group_obj, true ) );
  1124. if (is_null($group_obj->error)) {
  1125. onapp_event_exec( 'group_edit', array( $group_obj->_obj ) );
  1126. $_SESSION['message'] = 'GROUP_HAS_BEEN_UPDATED_SUCCESSFULLY';
  1127. onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES['users_and_groups'] . '?action=groups' );
  1128. }
  1129. else {
  1130. onapp_event_exec( 'group_edit_failed', array( $group_obj->_obj ) );
  1131. trigger_error ( print_r( $group_obj->error, true ) );
  1132. $this->show_template_groups( $group_obj->error );
  1133. }
  1134. }
  1135. }
  1136. /**
  1137. * Checks necessary access to this class
  1138. *
  1139. * @return boolean [true|false]
  1140. */
  1141. static function access() {
  1142. return onapp_has_permission(array('virtual_machines',

Large files files are truncated, but you can click here to view the full file