提交 4d1da568 编写于 作者: baltery's avatar baltery

[Update] 修改asset api

上级 3e17e942
...@@ -30,10 +30,8 @@ from .. import serializers ...@@ -30,10 +30,8 @@ from .. import serializers
logger = get_logger(__file__) logger = get_logger(__file__)
__all__ = [ __all__ = [
'NodeViewSet', 'NodeChildrenApi', 'NodeViewSet', 'NodeChildrenApi', 'NodeAssetsApi',
'NodeAssetsApi', 'NodeAddAssetsApi', 'NodeRemoveAssetsApi', 'NodeReplaceAssetsApi',
'NodeAddAssetsApi', 'NodeRemoveAssetsApi',
'NodeReplaceAssetsApi',
'NodeAddChildrenApi', 'RefreshNodeHardwareInfoApi', 'NodeAddChildrenApi', 'RefreshNodeHardwareInfoApi',
'TestNodeConnectiveApi' 'TestNodeConnectiveApi'
] ]
......
...@@ -64,6 +64,9 @@ class Node(OrgModelMixin): ...@@ -64,6 +64,9 @@ class Node(OrgModelMixin):
def create_child(self, value): def create_child(self, value):
with transaction.atomic(): with transaction.atomic():
child_key = self.get_next_child_key() child_key = self.get_next_child_key()
print("Create child")
print(self.key)
print(child_key)
child = self.__class__.objects.create(key=child_key, value=value) child = self.__class__.objects.create(key=child_key, value=value)
return child return child
...@@ -120,15 +123,16 @@ class Node(OrgModelMixin): ...@@ -120,15 +123,16 @@ class Node(OrgModelMixin):
return self.get_all_assets().valid() return self.get_all_assets().valid()
def is_root(self): def is_root(self):
root = self.__class__.root() print(type(self.key))
if self == root: print(self.key)
if self.key.isdigit():
return True return True
else: else:
return False return False
@property @property
def parent(self): def parent(self):
if self.key == "0" or not self.key.startswith("0"): if self.is_root():
return self.__class__.root() return self.__class__.root()
parent_key = ":".join(self.key.split(":")[:-1]) parent_key = ":".join(self.key.split(":")[:-1])
try: try:
...@@ -155,7 +159,7 @@ class Node(OrgModelMixin): ...@@ -155,7 +159,7 @@ class Node(OrgModelMixin):
if self.is_root(): if self.is_root():
root = self.__class__.root() root = self.__class__.root()
return [root] return [root]
print(self.key)
_key = self.key.split(':') _key = self.key.split(':')
if not with_self: if not with_self:
_key.pop() _key.pop()
......
...@@ -411,6 +411,8 @@ function initTree() { ...@@ -411,6 +411,8 @@ function initTree() {
zNodes = data; zNodes = data;
$.fn.zTree.init($("#assetTree"), setting, zNodes); $.fn.zTree.init($("#assetTree"), setting, zNodes);
zTree = $.fn.zTree.getZTreeObj("assetTree"); zTree = $.fn.zTree.getZTreeObj("assetTree");
var root = zTree.getNodes()[0];
zTree.expandNode(root);
rMenu = $("#rMenu"); rMenu = $("#rMenu");
selectQueryNode(); selectQueryNode();
}); });
......
...@@ -44,7 +44,7 @@ class AssetListView(AdminUserRequiredMixin, TemplateView): ...@@ -44,7 +44,7 @@ class AssetListView(AdminUserRequiredMixin, TemplateView):
template_name = 'assets/asset_list.html' template_name = 'assets/asset_list.html'
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
Node.root() print(Node.root().name)
context = { context = {
'app': _('Assets'), 'app': _('Assets'),
'action': _('Asset list'), 'action': _('Asset list'),
......
...@@ -7,7 +7,7 @@ from django.contrib.auth import get_user_model ...@@ -7,7 +7,7 @@ from django.contrib.auth import get_user_model
from django.forms import ModelForm from django.forms import ModelForm
from common.utils import get_logger from common.utils import get_logger
from .utils import get_current_org, get_model_by_db_table, set_current_org from .utils import get_current_org, set_current_org
logger = get_logger(__file__) logger = get_logger(__file__)
...@@ -22,23 +22,27 @@ class OrgManager(models.Manager): ...@@ -22,23 +22,27 @@ class OrgManager(models.Manager):
current_org = get_current_org() current_org = get_current_org()
kwargs = {} kwargs = {}
print(">>>>>>>>>> Get query set")
if not current_org: if not current_org:
kwargs['id'] = None kwargs['id'] = None
elif current_org.is_real(): elif current_org.is_real():
kwargs['org'] = current_org kwargs['org'] = current_org
elif current_org.is_default(): elif current_org.is_default():
kwargs['org'] = None kwargs['org'] = None
queryset = super().get_queryset().filter(**kwargs) queryset = super(OrgManager, self).get_queryset()
queryset = queryset.filter(**kwargs)
# print(kwargs)
print(queryset.query)
return queryset return queryset
def all(self): def all(self):
current_org = get_current_org() current_org = get_current_org()
if not current_org: if not current_org:
msg = 'You should `objects.set_current_org(org).all()` then run it' msg = 'You can `objects.set_current_org(org).all()` then run it'
warnings.warn(msg) warnings.warn(msg)
return self return self
else: else:
return super().all() return super(OrgManager, self).all()
def set_current_org(self, org): def set_current_org(self, org):
set_current_org(org) set_current_org(org)
......
...@@ -35,10 +35,9 @@ def set_current_org(org): ...@@ -35,10 +35,9 @@ def set_current_org(org):
setattr(_thread_locals, 'current_org', org) setattr(_thread_locals, 'current_org', org)
def get_model_by_db_table(db_table): def set_to_default_org():
for model in apps.get_models(): set_current_org(Organization.default())
if model._meta.db_table == db_table:
return model
else: def set_to_root_org():
# here you can do fallback logic if no model with db_table found set_current_org(Organization.root())
raise ValueError('No model found with db_table {}!'.format(db_table))
...@@ -11,7 +11,7 @@ __all__ = ['UserGroup'] ...@@ -11,7 +11,7 @@ __all__ = ['UserGroup']
class UserGroup(OrgModelMixin): class UserGroup(OrgModelMixin):
id = models.UUIDField(default=uuid.uuid4, primary_key=True) id = models.UUIDField(default=uuid.uuid4, primary_key=True)
name = models.CharField(max_length=128, unique=True, verbose_name=_('Name')) name = models.CharField(max_length=128, verbose_name=_('Name'))
comment = models.TextField(blank=True, verbose_name=_('Comment')) comment = models.TextField(blank=True, verbose_name=_('Comment'))
date_created = models.DateTimeField(auto_now_add=True, null=True, date_created = models.DateTimeField(auto_now_add=True, null=True,
verbose_name=_('Date created')) verbose_name=_('Date created'))
...@@ -22,6 +22,7 @@ class UserGroup(OrgModelMixin): ...@@ -22,6 +22,7 @@ class UserGroup(OrgModelMixin):
class Meta: class Meta:
ordering = ['name'] ordering = ['name']
unique_together = ['org', 'name']
verbose_name = _("User group") verbose_name = _("User group")
@classmethod @classmethod
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册