00001 <?php
00002
00015 import('lib.pkp.classes.controllers.grid.GridRow');
00016 import('lib.pkp.classes.linkAction.request.RemoteActionConfirmationModal');
00017
00018 class UserGridRow extends GridRow {
00022 function UserGridRow() {
00023 parent::GridRow();
00024 }
00025
00026
00027
00028
00029
00033 function initialize(&$request) {
00034 parent::initialize($request);
00035
00036
00037 $element =& $this->getData();
00038 assert(is_a($element, 'User'));
00039
00040 $rowId = $this->getId();
00041
00042 if (!empty($rowId) && is_numeric($rowId)) {
00043
00044 $router =& $request->getRouter();
00045 $actionArgs = array(
00046 'gridId' => $this->getGridId(),
00047 'rowId' => $rowId
00048 );
00049 $this->addAction(
00050 new LinkAction(
00051 'email',
00052 new AjaxModal(
00053 $router->url($request, null, null, 'editEmail', null, $actionArgs),
00054 __('grid.user.email'),
00055 'modal_email',
00056 true
00057 ),
00058 __('grid.user.email'),
00059 'notify')
00060 );
00061 $this->addAction(
00062 new LinkAction(
00063 'edit',
00064 new AjaxModal(
00065 $router->url($request, null, null, 'editUser', null, $actionArgs),
00066 __('grid.user.edit'),
00067 'modal_edit',
00068 true
00069 ),
00070 __('grid.user.edit'),
00071 'edit')
00072 );
00073 if ($element->getDisabled()) {
00074 $actionArgs['enable'] = true;
00075 $this->addAction(
00076 new LinkAction(
00077 'enable',
00078 new AjaxModal(
00079 $router->url($request, null, null, 'editDisableUser', null, $actionArgs),
00080 __('common.enable'),
00081 'enable',
00082 true
00083 ),
00084 __('common.enable'),
00085 'enable')
00086 );
00087 } else {
00088 $actionArgs['enable'] = false;
00089 $this->addAction(
00090 new LinkAction(
00091 'disable',
00092 new AjaxModal(
00093 $router->url($request, null, null, 'editDisableUser', null, $actionArgs),
00094 __('grid.user.disable'),
00095 'disable',
00096 true
00097 ),
00098 __('grid.user.disable'),
00099 'disable')
00100 );
00101 }
00102 $this->addAction(
00103 new LinkAction(
00104 'remove',
00105 new RemoteActionConfirmationModal(
00106 __('manager.people.confirmRemove'),
00107 __('common.remove'),
00108 $router->url($request, null, null, 'removeUser', null, $actionArgs),
00109 'modal_delete'
00110 ),
00111 __('grid.action.remove'),
00112 'delete')
00113 );
00114 }
00115 }
00116 }
00117
00118 ?>