mirror of https://github.com/jumpserver/jumpserver
[Bugfix] 用户添加报错
parent
99cd685194
commit
b2b123b41e
|
@ -37,7 +37,7 @@ def push_cluster_system_users_to_asset(asset):
|
||||||
@receiver(post_save, sender=Asset, dispatch_uid="my_unique_identifier")
|
@receiver(post_save, sender=Asset, dispatch_uid="my_unique_identifier")
|
||||||
def on_asset_created(sender, instance=None, created=False, **kwargs):
|
def on_asset_created(sender, instance=None, created=False, **kwargs):
|
||||||
if instance and created:
|
if instance and created:
|
||||||
logger.info("Asset `` create signal received".format(instance))
|
logger.info("Asset `{}` create signal received".format(instance))
|
||||||
update_asset_hardware_info_on_created(instance)
|
update_asset_hardware_info_on_created(instance)
|
||||||
test_asset_conn_on_created(instance)
|
test_asset_conn_on_created(instance)
|
||||||
push_cluster_system_users_to_asset(instance)
|
push_cluster_system_users_to_asset(instance)
|
||||||
|
|
|
@ -17,6 +17,11 @@
|
||||||
<li class="pull-right">
|
<li class="pull-right">
|
||||||
<a class="btn btn-outline btn-default" href="{% url 'assets:asset-group-update' pk=asset_group.id %}"><i class="fa fa-edit"></i>{% trans 'Update' %}</a>
|
<a class="btn btn-outline btn-default" href="{% url 'assets:asset-group-update' pk=asset_group.id %}"><i class="fa fa-edit"></i>{% trans 'Update' %}</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li class="pull-right">
|
||||||
|
<a class="btn btn-outline btn-danger btn-del">
|
||||||
|
<i class="fa fa-trash-o"></i>{% trans 'Delete' %}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="tab-content">
|
<div class="tab-content">
|
||||||
|
@ -212,7 +217,6 @@ $(document).ready(function () {
|
||||||
addAssets(assets_id);
|
addAssets(assets_id);
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
.on('click', '.btn-leave-group', function () {
|
.on('click', '.btn-leave-group', function () {
|
||||||
var $this = $(this);
|
var $this = $(this);
|
||||||
var the_url = "{% url 'api-assets:group-update-assets' pk=asset_group.id %}";
|
var the_url = "{% url 'api-assets:group-update-assets' pk=asset_group.id %}";
|
||||||
|
@ -225,6 +229,13 @@ $(document).ready(function () {
|
||||||
assets.remove(delete_asset_id);
|
assets.remove(delete_asset_id);
|
||||||
var data = {"assets": assets};
|
var data = {"assets": assets};
|
||||||
leaveGroup($this, name, the_url, data);
|
leaveGroup($this, name, the_url, data);
|
||||||
|
}).on('click', '.btn-del', function () {
|
||||||
|
var $this = $(this);
|
||||||
|
var name = "{{ asset_group.name}}";
|
||||||
|
var uid = "{{ asset_group.id }}";
|
||||||
|
var the_url = '{% url "api-assets:asset-group-detail" pk=DEFAULT_PK %}'.replace('{{ DEFAULT_PK }}', uid);
|
||||||
|
var redirect_url = "{% url 'assets:asset-group-list' %}";
|
||||||
|
objectDelete($this, name, the_url, redirect_url);
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,11 @@
|
||||||
<li class="pull-right">
|
<li class="pull-right">
|
||||||
<a class="btn btn-outline btn-default" href="{% url 'assets:system-user-update' pk=system_user.id %}"><i class="fa fa-edit"></i>{% trans 'Update' %}</a>
|
<a class="btn btn-outline btn-default" href="{% url 'assets:system-user-update' pk=system_user.id %}"><i class="fa fa-edit"></i>{% trans 'Update' %}</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li class="pull-right">
|
||||||
|
<a class="btn btn-outline btn-danger btn-del">
|
||||||
|
<i class="fa fa-trash-o"></i>{% trans 'Delete' %}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="tab-content">
|
<div class="tab-content">
|
||||||
|
@ -259,6 +264,13 @@ $(document).ready(function () {
|
||||||
return $(this).data('gid');
|
return $(this).data('gid');
|
||||||
}).get();
|
}).get();
|
||||||
updateSystemUserCluster(clusters);
|
updateSystemUserCluster(clusters);
|
||||||
|
}).on('click', '.btn-del', function () {
|
||||||
|
var $this = $(this);
|
||||||
|
var name = "{{ system_user.name}}";
|
||||||
|
var uid = "{{ system_user.id }}";
|
||||||
|
var the_url = '{% url "api-assets:system-user-detail" pk=DEFAULT_PK %}'.replace('{{ DEFAULT_PK }}', uid);
|
||||||
|
var redirect_url = "{% url 'assets:system-user-list' %}";
|
||||||
|
objectDelete($this, name, the_url, redirect_url);
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -237,6 +237,16 @@ $(document).ready(function () {
|
||||||
}).get();
|
}).get();
|
||||||
updateSystemUser(system_users);
|
updateSystemUser(system_users);
|
||||||
$tr.remove()
|
$tr.remove()
|
||||||
|
}).on('click', '#is_active', function () {
|
||||||
|
var the_url = '{% url "api-perms:asset-permission-detail" pk=asset_permission.id %}';
|
||||||
|
var checked = $(this).prop('checked');
|
||||||
|
var body = {
|
||||||
|
'is_active': checked
|
||||||
|
};
|
||||||
|
APIUpdateAttr({
|
||||||
|
url: the_url,
|
||||||
|
body: JSON.stringify(body),
|
||||||
|
});
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -128,7 +128,7 @@ class UserAuthApi(APIView):
|
||||||
user_agent = request.data.get('HTTP_USER_AGENT', '')
|
user_agent = request.data.get('HTTP_USER_AGENT', '')
|
||||||
|
|
||||||
if not login_ip:
|
if not login_ip:
|
||||||
login_ip = request.META.get('HTTP_X_REAL_IP') or request.META.get("REMOTE_ADDR")
|
login_ip = request.META.get('HTTP_X_FORWARDED_FOR') or request.META.get("REMOTE_ADDR")
|
||||||
|
|
||||||
user, msg = check_user_valid(
|
user, msg = check_user_valid(
|
||||||
username=username, password=password,
|
username=username, password=password,
|
||||||
|
|
|
@ -46,7 +46,7 @@ class UserCreateUpdateForm(forms.ModelForm):
|
||||||
}
|
}
|
||||||
|
|
||||||
def save(self, commit=True):
|
def save(self, commit=True):
|
||||||
password = self.cleaned_data.pop('password')
|
password = self.cleaned_data.get('password')
|
||||||
user = super().save(commit=commit)
|
user = super().save(commit=commit)
|
||||||
if password:
|
if password:
|
||||||
user.set_password(password)
|
user.set_password(password)
|
||||||
|
|
|
@ -53,7 +53,8 @@ class UserLoginView(FormView):
|
||||||
if not self.request.session.test_cookie_worked():
|
if not self.request.session.test_cookie_worked():
|
||||||
return HttpResponse(_("Please enable cookies and try again."))
|
return HttpResponse(_("Please enable cookies and try again."))
|
||||||
auth_login(self.request, form.get_user())
|
auth_login(self.request, form.get_user())
|
||||||
login_ip = self.request.META.get('REMOTE_ADDR', '')
|
login_ip = self.request.META.get('HTTP_X_FORWARDED_FOR') or \
|
||||||
|
self.request.META.get('REMOTE_ADDR', '')
|
||||||
user_agent = self.request.META.get('HTTP_USER_AGENT', '')
|
user_agent = self.request.META.get('HTTP_USER_AGENT', '')
|
||||||
write_login_log_async.delay(
|
write_login_log_async.delay(
|
||||||
self.request.user.username, type='W',
|
self.request.user.username, type='W',
|
||||||
|
|
Loading…
Reference in New Issue