Commit 28223421 authored by ibuler's avatar ibuler

[Bugfix] 修复一下bug

1. 添加管理用户时同名的异常
2. 添加授权规则的检查
parent 56fd1824
...@@ -172,9 +172,10 @@ class AdminUserForm(forms.ModelForm): ...@@ -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): ...@@ -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): ...@@ -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() { ...@@ -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 @@ ...@@ -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 @@ ...@@ -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(){ ...@@ -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>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment