forked from magento/magento2
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEdit.php
More file actions
154 lines (139 loc) · 4.15 KB
/
Edit.php
File metadata and controls
154 lines (139 loc) · 4.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\User\Block\User;
/**
* User edit page
*
* @api
* @since 100.0.2
*/
class Edit extends \Magento\Backend\Block\Widget\Form\Container
{
/**
* @var \Magento\Framework\Registry
*/
protected $_coreRegistry = null;
/**
* @param \Magento\Backend\Block\Widget\Context $context
* @param \Magento\Framework\Registry $registry
* @param array $data
*/
public function __construct(
\Magento\Backend\Block\Widget\Context $context,
\Magento\Framework\Registry $registry,
array $data = []
) {
$this->_coreRegistry = $registry;
parent::__construct($context, $data);
}
/**
* Class constructor
*
* @return void
*/
protected function _construct()
{
$this->_objectId = 'user_id';
$this->_controller = 'user';
$this->_blockGroup = 'Magento_User';
parent::_construct();
$this->buttonList->update('save', 'label', __('Save User'));
$this->buttonList->remove('delete');
$objId = (int)$this->getRequest()->getParam($this->_objectId);
if (!empty($objId)) {
$this->addButton(
'delete',
[
'label' => __('Delete User'),
'class' => 'delete',
'data_attribute' => [
'role' => 'delete-user'
]
]
);
$deleteConfirmMsg = __("Are you sure you want to revoke the user's tokens?");
$this->addButton(
'invalidate',
[
'label' => __('Force Sign-In'),
'class' => 'invalidate-token',
'onclick' => "deleteConfirm('" . $this->escapeJs($this->escapeHtml($deleteConfirmMsg)) .
"', '" . $this->getInvalidateUrl() . "')",
]
);
}
}
/**
* Returns message that is displayed for admin when he deletes user from the system.
* To see this message admin must do the following:
* - open user's account for editing;
* - type current user's password in the "Current User Identity Verification" field
* - click "Delete User" at top left part of the page;
*
* @return \Magento\Framework\Phrase
* @since 101.0.0
*/
public function getDeleteMessage()
{
return __('Are you sure you want to do this?');
}
/**
* Returns the URL that is used for user deletion.
* The following Action is executed if admin navigates to returned url
* Magento\User\Controller\Adminhtml\User\Delete
*
* @return string
* @since 101.0.0
*/
public function getDeleteUrl()
{
return $this->getUrl('adminhtml/*/delete');
}
/**
* This method is used to get the ID of the user who's account the Admin is editing.
* It can be used to determine the reason Admin opens the page:
* to create a new user account OR to edit the previously created user account
*
* @return int
* @since 101.0.0
*/
public function getObjectId()
{
return (int)$this->getRequest()->getParam($this->_objectId);
}
/**
* Get text to be used in the header
*
* @return \Magento\Framework\Phrase
*/
public function getHeaderText()
{
if ($this->_coreRegistry->registry('permissions_user')->getId()) {
$username = $this->escapeHtml($this->_coreRegistry->registry('permissions_user')->getUsername());
return __("Edit User '%1'", $username);
} else {
return __('New User');
}
}
/**
* Return validation url for edit form
*
* @return string
*/
public function getValidationUrl()
{
return $this->getUrl('adminhtml/*/validate', ['_current' => true]);
}
/**
* Return invalidate url for edit form
*
* @return string
*/
public function getInvalidateUrl()
{
return $this->getUrl('adminhtml/*/invalidatetoken', ['_current' => true]);
}
}