mirror of https://github.com/jumpserver/jumpserver
[Bug&Update] 以下bug和功能
- 修复新建资产不选管理用户和集群异常bug - profile下拉增加icon - 授权api增加os和platformpull/915/head
parent
c0829194dc
commit
450a9495ec
|
@ -36,7 +36,7 @@ class AssetCreateForm(forms.ModelForm):
|
|||
def clean_admin_user(self):
|
||||
cluster = self.cleaned_data.get('cluster')
|
||||
admin_user = self.cleaned_data.get('admin_user')
|
||||
if not cluster.admin_user and not admin_user:
|
||||
if not admin_user and (cluster and not cluster.admin_user):
|
||||
raise forms.ValidationError(_("You need set a admin user if cluster not have"))
|
||||
return self.cleaned_data['admin_user']
|
||||
|
||||
|
@ -64,7 +64,7 @@ class AssetUpdateForm(forms.ModelForm):
|
|||
def clean_admin_user(self):
|
||||
cluster = self.cleaned_data.get('cluster')
|
||||
admin_user = self.cleaned_data.get('admin_user')
|
||||
if not cluster.admin_user and not admin_user:
|
||||
if not admin_user and (cluster and not cluster.admin_user):
|
||||
raise forms.ValidationError(_("You need set a admin user if cluster not have"))
|
||||
return self.cleaned_data['admin_user']
|
||||
|
||||
|
|
|
@ -192,7 +192,7 @@ class AssetGrantedSerializer(serializers.ModelSerializer):
|
|||
class Meta(object):
|
||||
model = Asset
|
||||
fields = ("id", "hostname", "ip", "port", "system_users_granted",
|
||||
"is_inherited", "is_active", "system_users_join",
|
||||
"is_inherited", "is_active", "system_users_join", "os",
|
||||
"platform", "comment",)
|
||||
|
||||
@staticmethod
|
||||
|
|
|
@ -7,9 +7,7 @@ from .. import api
|
|||
app_name = 'perms'
|
||||
|
||||
router = routers.DefaultRouter()
|
||||
router.register('v1/asset-permissions',
|
||||
api.AssetPermissionViewSet,
|
||||
'asset-permission')
|
||||
router.register('v1/asset-permissions', api.AssetPermissionViewSet, 'asset-permission')
|
||||
|
||||
urlpatterns = [
|
||||
# 用户可以使用自己的Token或其它认证查看自己授权的资产,资产组等
|
||||
|
|
|
@ -30,17 +30,16 @@
|
|||
</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu animated fadeInRight m-t-xs">
|
||||
<li><a href="{% url 'users:user-profile' %}">{% trans 'Profile' %}</a></li>
|
||||
<li><a href="{% url 'users:user-profile-update' %}">{% trans 'Profile settings' %}</a></li>
|
||||
<li><a href="{% url 'users:user-profile' %}"><i class="fa fa-cogs"> </i><span> {% trans 'Profile' %}</span></a></li>
|
||||
<li class="divider"></li>
|
||||
{% if request.user.is_superuser %}
|
||||
{% if request.COOKIES.IN_ADMIN_PAGE == 'No' %}
|
||||
<li><a id="switch_admin">{% trans 'Admin page' %}</a></li>
|
||||
<li><a id="switch_admin"><i class="fa fa-exchange"></i><span> {% trans 'Admin page' %}</span></a></li>
|
||||
{% else %}
|
||||
<li><a id="switch_user">{% trans 'User page' %}</a></li>
|
||||
<li><a id="switch_user"><i class="fa fa-exchange"></i><span> {% trans 'User page' %}</span></a></li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<li><a href="{% url 'users:logout' %}">{% trans 'Logout' %}</a></li>
|
||||
<li><a href="{% url 'users:logout' %}"><i class="fa fa-sign-out"></i> {% trans 'Logout' %}</a></li>
|
||||
</ul>
|
||||
{% else %}
|
||||
<a href="{% url 'users:login' %}">
|
||||
|
|
|
@ -30,7 +30,7 @@ $(document).ready(function () {
|
|||
setTimeout(function () {
|
||||
delCookie(cookieName);
|
||||
setCookie(cookieName, "No");
|
||||
window.location = "/"
|
||||
window.location = "{% url 'assets:user-asset-list' %}"
|
||||
}, 100);
|
||||
})
|
||||
</script>
|
||||
|
|
|
@ -168,6 +168,11 @@ class User(AbstractUser):
|
|||
token = PrivateToken.objects.create(user=self)
|
||||
return token.key
|
||||
|
||||
def create_access_key(self):
|
||||
from . import AccessKey
|
||||
access_key = AccessKey.objects.create(user=self)
|
||||
return access_key
|
||||
|
||||
def refresh_private_token(self):
|
||||
from .authentication import PrivateToken
|
||||
PrivateToken.objects.filter(user=self).delete()
|
||||
|
@ -214,13 +219,12 @@ class User(AbstractUser):
|
|||
|
||||
@classmethod
|
||||
def create_app_user(cls, name, comment):
|
||||
from . import AccessKey
|
||||
app = cls.objects.create(
|
||||
username=name, name=name, email='{}@local.domain'.format(name),
|
||||
is_active=False, role='App', enable_otp=False, comment=comment,
|
||||
is_first_login=False, created_by='System'
|
||||
)
|
||||
access_key = AccessKey.objects.create(user=app)
|
||||
access_key = app.create_access_key()
|
||||
return app, access_key
|
||||
|
||||
@classmethod
|
||||
|
|
Loading…
Reference in New Issue