mirror of https://github.com/jumpserver/jumpserver
				
				
				
			
						commit
						f46b707f70
					
				| 
						 | 
					@ -58,7 +58,7 @@ class AppletHostDeploymentViewSet(viewsets.ModelViewSet):
 | 
				
			||||||
    def applets(self, request, *args, **kwargs):
 | 
					    def applets(self, request, *args, **kwargs):
 | 
				
			||||||
        serializer = self.get_serializer(data=request.data)
 | 
					        serializer = self.get_serializer(data=request.data)
 | 
				
			||||||
        serializer.is_valid(raise_exception=True)
 | 
					        serializer.is_valid(raise_exception=True)
 | 
				
			||||||
        applet_id = serializer.validated_data.get('applet_id')
 | 
					        applet_id = serializer.validated_data.pop('applet_id')
 | 
				
			||||||
        instance = serializer.save()
 | 
					        instance = serializer.save()
 | 
				
			||||||
        task = run_applet_host_deployment_install_applet.delay(instance.id, applet_id)
 | 
					        task = run_applet_host_deployment_install_applet.delay(instance.id, applet_id)
 | 
				
			||||||
        instance.save_task(task.id)
 | 
					        instance.save_task(task.id)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,6 +10,7 @@ from simple_history.utils import bulk_create_with_history
 | 
				
			||||||
from assets.models import Host
 | 
					from assets.models import Host
 | 
				
			||||||
from common.db.models import JMSBaseModel
 | 
					from common.db.models import JMSBaseModel
 | 
				
			||||||
from common.utils import random_string
 | 
					from common.utils import random_string
 | 
				
			||||||
 | 
					from terminal.const import PublishStatus
 | 
				
			||||||
 | 
					
 | 
				
			||||||
__all__ = ['AppletHost', 'AppletHostDeployment']
 | 
					__all__ = ['AppletHost', 'AppletHostDeployment']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -63,11 +64,11 @@ class AppletHost(Host):
 | 
				
			||||||
        status_applets = defaultdict(list)
 | 
					        status_applets = defaultdict(list)
 | 
				
			||||||
        for applet in applets:
 | 
					        for applet in applets:
 | 
				
			||||||
            if applet.name not in name_version_mapper:
 | 
					            if applet.name not in name_version_mapper:
 | 
				
			||||||
                status_applets['unpublished'].append(applet)
 | 
					                status_applets[PublishStatus.failed.value].append(applet)
 | 
				
			||||||
            elif applet.version != name_version_mapper[applet.name]:
 | 
					            elif applet.version != name_version_mapper[applet.name]:
 | 
				
			||||||
                status_applets['not_match'].append(applet)
 | 
					                status_applets[PublishStatus.mismatch.value].append(applet)
 | 
				
			||||||
            else:
 | 
					            else:
 | 
				
			||||||
                status_applets['published'].append(applet)
 | 
					                status_applets[PublishStatus.success.value].append(applet)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for status, applets in status_applets.items():
 | 
					        for status, applets in status_applets.items():
 | 
				
			||||||
            self.publications.filter(applet__in=applets) \
 | 
					            self.publications.filter(applet__in=applets) \
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue