11import datetime
22import json
33from types import SimpleNamespace
4- import uuid
54from app .helpers .cost_modal import CostModal
65from app .helpers .alias import create_alias
76from app .helpers .admin import is_authorised_project_user , is_owner_or_admin , is_current_or_admin , is_admin
87from app .helpers .role_search import has_role
98from app .helpers .activity_logger import log_activity
109from app .helpers .kube import create_kube_clients , delete_cluster_app , disable_project , enable_project , check_kube_error_code
11- from app .helpers .tags import add_tags_to_project , create_tags , remove_tags_from_project
1210from app .models .billing_invoice import BillingInvoice
1311from app .models .project_users import ProjectUser
1412from app .models .user import User
1715from app .schemas import ProjectSchema , AppSchema , ProjectUserSchema , ClusterSchema
1816from app .helpers .decorators import admin_required
1917import datetime
20- from app .schemas .tags import TagSchema
2118from flask_restful import Resource , request
2219from kubernetes import client
2320from flask_jwt_extended import jwt_required , get_jwt_identity , get_jwt_claims
@@ -60,7 +57,6 @@ def post(self):
6057 message = f'''project with name {
6158 validated_project_data ["name" ]} already exists'''
6259 ), 409
63-
6460 try :
6561 validated_project_data ['alias' ] = \
6662 create_alias (validated_project_data ['name' ])
@@ -74,11 +70,6 @@ def post(self):
7470 message = f'cluster { cluster_id } not found'
7571 ), 404
7672
77- tags = None
78- if validated_project_data .get ('tags_add' ):
79- tags = validated_project_data ['tags_add' ]
80- validated_project_data .pop ('tags_add' , None )
81-
8273 kube_host = cluster .host
8374 kube_token = cluster .token
8475
@@ -152,8 +143,6 @@ def post(self):
152143 kube_client .kube .delete_namespace (namespace_name )
153144
154145 return dict (status = "fail" , message = "Internal Server Error" ), 500
155- if tags :
156- add_tags_to_project (tags , project )
157146
158147 # create a billing invoice on project creation
159148 new_invoice = BillingInvoice (project_id = project .id )
@@ -189,7 +178,7 @@ def post(self):
189178 log_activity ('Project' , status = 'Success' ,
190179 operation = 'Create' ,
191180 description = 'Created project Successfully' ,
192- a_project = project ,
181+ a_project_id = project . id ,
193182 a_cluster_id = cluster_id )
194183
195184 return dict (status = 'success' , data = dict (project = new_project_data )), 201
@@ -202,13 +191,9 @@ def post(self):
202191 return dict (status = 'fail' , message = str (e .body )), check_kube_error_code (e .status )
203192
204193 except Exception as err :
205- try :
206- err = err .body
207- except :
208- err = str (err )
209194 log_activity ('Project' , status = 'Failed' ,
210195 operation = 'Create' ,
211- description = err ,
196+ description = err . body ,
212197 a_cluster_id = cluster_id )
213198 return dict (status = 'fail' , message = str (err )), 500
214199
@@ -338,7 +323,7 @@ def get(self):
338323 user .save ()
339324 # ADD a logger for when user.save does not work
340325
341- # If series is requested, include graph data based on filtered dates
326+ # If series is requested, include graph data based on filtered dates
342327 if series :
343328 validated_query_data , errors = ProjectGraphSchema ().load (graph_filter_data )
344329 if errors :
@@ -349,15 +334,13 @@ def get(self):
349334 set_by = validated_query_data ['set_by' ]
350335
351336 # Get graph data from Project model
352- graph_data = Project .graph_data (
353- start = start , end = end , set_by = set_by )
337+ graph_data = Project .graph_data (start = start , end = end , set_by = set_by )
354338
355339 return dict (
356340 status = 'success' ,
357341 data = dict (
358342 metadata = project_metadata ,
359343 pagination = pagination_data ,
360- # projects=json.loads(project_data),
361344 graph_data = graph_data
362345 )
363346 ), 200
@@ -371,7 +354,6 @@ def get(self):
371354 )
372355 ), 200
373356
374-
375357class ProjectDetailView (Resource ):
376358
377359 @jwt_required
@@ -483,7 +465,7 @@ def delete(self, project_id):
483465 log_activity ('Project' , status = 'Success' ,
484466 operation = 'Delete' ,
485467 description = 'Deleted project Successfully' ,
486- a_project = project ,
468+ a_project_id = project . id ,
487469 a_cluster_id = project .cluster_id )
488470 return dict (
489471 status = 'success' ,
@@ -508,7 +490,7 @@ def delete(self, project_id):
508490 log_activity ('Project' , status = 'Success' ,
509491 operation = 'Delete' ,
510492 description = 'Deleted project Successfully' ,
511- a_project = project ,
493+ a_project_id = project . id ,
512494 a_cluster_id = project .cluster_id )
513495 return dict (
514496 status = 'success' ,
@@ -539,7 +521,7 @@ def patch(self, project_id):
539521 current_user_roles = get_jwt_claims ()['roles' ]
540522
541523 project_schema = ProjectSchema (
542- only = ("name" , "description" , "organisation" , "project_type" , "is_public" , "tags_add" , "tags_remove" ), partial = True )
524+ only = ("name" , "description" , "organisation" , "project_type" ), partial = True )
543525
544526 project_data = request .get_json ()
545527
@@ -571,30 +553,21 @@ def patch(self, project_id):
571553 if not is_authorised_project_user (project , current_user_id , 'admin' ):
572554 return dict (status = 'fail' , message = 'unauthorised' ), 403
573555
574- if validate_project_data .get ('tags_add' ):
575- add_tags_to_project (
576- validate_project_data ['tags_add' ], project )
577- validate_project_data .pop ('tags_add' , None )
578- if validate_project_data .get ('tags_remove' ):
579- remove_tags_from_project (
580- validate_project_data ['tags_remove' ], project )
581- validate_project_data .pop ('tags_remove' , None )
582-
583556 updated = Project .update (project , ** validate_project_data )
584557
585558 if not updated :
586559 log_activity ('Project' , status = 'Failed' ,
587560 operation = 'Update' ,
588561 description = 'Internal Server Error' ,
589- a_project = project ,
562+ a_project_id = project . id ,
590563 a_cluster_id = project .cluster_id
591564 )
592565 return dict (status = 'fail' , message = 'internal server error' ), 500
593566
594567 log_activity ('Project' , status = 'Success' ,
595568 operation = 'Update' ,
596569 description = 'Updated project Successfully' ,
597- a_project = project ,
570+ a_project_id = project . id ,
598571 a_cluster_id = project .cluster_id )
599572 return dict (
600573 status = 'success' ,
@@ -634,7 +607,7 @@ def get(self, user_id):
634607 ).all ()
635608
636609 pagination_meta_data , projects = paginate (
637- user .projects [:: - 1 ] , per_page , page )
610+ user .projects , per_page , page )
638611
639612 user_projects , errors = project_schema .dumps (
640613 projects )
@@ -648,7 +621,7 @@ def get(self, user_id):
648621 status = 'success' ,
649622 data = dict (
650623 pagination = {** pagination_meta_data ,
651- 'pinned_count' : len (json . loads ( pinned_projects ) )},
624+ 'pinned_count' : len (pinned_projects )},
652625 pinned = json .loads (pinned_projects ),
653626 projects = json .loads (user_projects ),
654627 )
0 commit comments