mirror of https://github.com/jumpserver/jumpserver
parent
56fd18241d
commit
28223421b1
|
@ -172,9 +172,10 @@ class AdminUserForm(forms.ModelForm):
|
||||||
widget=forms.PasswordInput, max_length=128,
|
widget=forms.PasswordInput, max_length=128,
|
||||||
strip=True, required=False,
|
strip=True, required=False,
|
||||||
help_text=_('Password or private key password'),
|
help_text=_('Password or private key password'),
|
||||||
|
label=_("Password"),
|
||||||
)
|
)
|
||||||
# Need use upload private key file except paste private key content
|
# Need use upload private key file except paste private key content
|
||||||
private_key_file = forms.FileField(required=False)
|
private_key_file = forms.FileField(required=False, label=_("Private key"))
|
||||||
|
|
||||||
def save(self, commit=True):
|
def save(self, commit=True):
|
||||||
# Because we define custom field, so we need rewrite :method: `save`
|
# Because we define custom field, so we need rewrite :method: `save`
|
||||||
|
@ -204,12 +205,14 @@ class AdminUserForm(forms.ModelForm):
|
||||||
return private_key_file
|
return private_key_file
|
||||||
|
|
||||||
def clean(self):
|
def clean(self):
|
||||||
|
super().clean()
|
||||||
password = self.cleaned_data['password']
|
password = self.cleaned_data['password']
|
||||||
private_key_file = self.cleaned_data.get('private_key_file', '')
|
private_key_file = self.cleaned_data.get('private_key_file', '')
|
||||||
|
|
||||||
if not self.instance and not (password or private_key_file):
|
if not password and not private_key_file:
|
||||||
raise forms.ValidationError(
|
raise forms.ValidationError(_(
|
||||||
_('Password and private key file must be input one'))
|
'Password and private key file must be input one'
|
||||||
|
))
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = AdminUser
|
model = AdminUser
|
||||||
|
@ -284,9 +287,9 @@ class SystemUserForm(forms.ModelForm):
|
||||||
help_texts = {
|
help_texts = {
|
||||||
'name': '* required',
|
'name': '* required',
|
||||||
'username': '* required',
|
'username': '* required',
|
||||||
'cluster': 'If auto push checked, system user will be create at cluster assets',
|
'cluster': _('If auto push checked, system user will be create at cluster assets'),
|
||||||
'auto_push': 'Auto push system user to asset',
|
'auto_push': _('Auto push system user to asset'),
|
||||||
'priority': 'High level will be using login asset as default, if user was granted more than 2 system user',
|
'priority': _('High level will be using login asset as default, if user was granted more than 2 system user'),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -69,9 +69,11 @@ function initTable() {
|
||||||
$(td).html('<i class="fa fa-check text-navy"></i>')
|
$(td).html('<i class="fa fa-check text-navy"></i>')
|
||||||
}
|
}
|
||||||
}},
|
}},
|
||||||
{targets: 8, createdCell: function (td, cellData) {
|
{targets: 8, createdCell: function (td, cellData, rowData) {
|
||||||
var update_btn = '<a href="{% url "perms:asset-permission-update" pk=DEFAULT_PK %}" class="btn btn-xs m-l-xs btn-info">{% trans "Update" %}</a>'.replace('{{ DEFAULT_PK }}', cellData);
|
var update_btn = '<a href="{% url "perms:asset-permission-update" pk=DEFAULT_PK %}" class="btn btn-xs m-l-xs btn-info">{% trans "Update" %}</a>'.replace('{{ DEFAULT_PK }}', cellData);
|
||||||
var del_btn = '<a class="btn btn-xs btn-danger m-l-xs btn-del-permission" data-uid="{{ DEFAULT_PK }}">{% trans "Delete" %}</a>'.replace('{{ DEFAULT_PK }}', cellData);
|
var del_btn = '<a class="btn btn-xs btn-danger m-l-xs btn-del" data-uid="{{ DEFAULT_PK }}" data-name="99991938">{% trans "Delete" %}</a>'
|
||||||
|
.replace('{{ DEFAULT_PK }}', cellData)
|
||||||
|
.replace('99991938', rowData.name);
|
||||||
$(td).html(update_btn + del_btn);
|
$(td).html(update_btn + del_btn);
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="dropdown">
|
<li class="dropdown">
|
||||||
{% if user.is_authenticated %}
|
{% if request.user.is_authenticated %}
|
||||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||||
<span class="m-r-sm text-muted welcome-message">
|
<span class="m-r-sm text-muted welcome-message">
|
||||||
<img alt="image" class="img-circle" width="40" height="40" src="{{ request.user.avatar_url }}"/>
|
<img alt="image" class="img-circle" width="40" height="40" src="{{ request.user.avatar_url }}"/>
|
||||||
|
@ -34,11 +34,11 @@
|
||||||
<li><a href="{% url 'users:user-profile-update' %}">{% trans 'Profile settings' %}</a></li>
|
<li><a href="{% url 'users:user-profile-update' %}">{% trans 'Profile settings' %}</a></li>
|
||||||
<li class="divider"></li>
|
<li class="divider"></li>
|
||||||
{% if request.user.is_superuser %}
|
{% if request.user.is_superuser %}
|
||||||
{% if request.COOKIES.IN_ADMIN_PAGE == 'No' %}
|
{% if request.COOKIES.IN_ADMIN_PAGE == 'No' %}
|
||||||
<li><a id="switch_admin">{% trans 'Admin page' %}</a></li>
|
<li><a id="switch_admin">{% trans 'Admin page' %}</a></li>
|
||||||
{% else %}
|
{% else %}
|
||||||
<li><a id="switch_user">{% trans 'User page' %}</a></li>
|
<li><a id="switch_user">{% trans 'User page' %}</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<li><a href="{% url 'users:logout' %}">{% trans 'Logout' %}</a></li>
|
<li><a href="{% url 'users:logout' %}">{% trans 'Logout' %}</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -223,7 +223,7 @@ $(document).ready(function(){
|
||||||
var $this = $(this);
|
var $this = $(this);
|
||||||
var name = $this.data('name');
|
var name = $this.data('name');
|
||||||
var uid = $this.data('uid');
|
var uid = $this.data('uid');
|
||||||
var the_url = '{% url "api-users:user-detail" pk='00000000-0000-0000-0000-000000000000' %}'.replace('00000000-0000-0000-0000-000000000000', uid);
|
var the_url = '{% url "api-users:user-detail" pk="{{ DEFAULT_PK }}" %}'.replace("{{ DEFAULT_PK }}", uid);
|
||||||
objectDelete($this, name, the_url);
|
objectDelete($this, name, the_url);
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
Loading…
Reference in New Issue