jusrhee 5 лет назад
Родитель
Сommit
3cca2bdc9f

+ 17 - 3
dashboard/src/main/home/Home.tsx

@@ -22,17 +22,21 @@ type StateType = {
   forceSidebar: boolean,
   showWelcome: boolean,
   currentView: string,
+
+  // Track last project id for refreshing clusters on project change
+  prevProjectId: number | null
 };
 
 export default class Home extends Component<PropsType, StateType> {
   state = {
     forceSidebar: true,
     showWelcome: false,
-    currentView: 'cluster-dashboard'
+    currentView: 'cluster-dashboard',
+    prevProjectId: null as number | null
   }
 
   componentDidMount() {
-    let { user } = this.context;
+    let { user, currentCluster } = this.context;
     api.getProjects('<token>', {}, { id: user.userId }, (err: any, res: any) => {
       if (err) {
         // console.log(err)
@@ -44,11 +48,21 @@ export default class Home extends Component<PropsType, StateType> {
     });
   }
 
+  componentDidUpdate(prevProps: PropsType) {
+    if (prevProps !== this.props && this.context.currentProject) {
+
+      // Set view to dashboard on project change
+      if (this.state.prevProjectId !== this.context.currentProject.id) {
+        this.setState({ currentView: 'dashboard' });
+      }
+    }
+  }
+
   // TODO: move into ClusterDashboard
   renderDashboard = () => {
     let { currentCluster, setCurrentModal } = this.context;
 
-    if (currentCluster === {} || this.state.showWelcome) {
+    if (currentCluster === {} || this.state.showWelcome || currentCluster && !currentCluster.name) {
       return (
         <DashboardWrapper>
           <Placeholder>

+ 0 - 2
dashboard/src/main/home/cluster-dashboard/chart/ChartList.tsx

@@ -37,8 +37,6 @@ export default class ChartList extends Component<PropsType, StateType> {
       }
     }, 3000);
 
-    console.log(currentCluster.id, currentCluster.service_account_id);
-
     api.getCharts('<token>', {
       namespace: this.props.namespace,
       cluster_id: currentCluster.id,

+ 0 - 1
dashboard/src/main/home/cluster-dashboard/expanded-chart/ExpandedChart.tsx

@@ -168,7 +168,6 @@ export default class ExpandedChart extends Component<PropsType, StateType> {
       if (err) {
         console.log(err)
       } else {
-        console.log(res.data)
         this.setState({ components: res.data.Objects, podSelectors: res.data.PodSelectors });
       }
     });

+ 10 - 10
server/api/k8s_handler.go

@@ -72,7 +72,7 @@ func (app *App) HandleListNamespaces(w http.ResponseWriter, r *http.Request) {
 func (app *App) HandleGetPodLogs(w http.ResponseWriter, r *http.Request) {
 
 	// get session to retrieve correct kubeconfig
-	session, err := app.store.Get(r, app.cookieName)
+	_, err := app.store.Get(r, app.cookieName)
 
 	// get path parameters
 	namespace := chi.URLParam(r, "namespace")
@@ -94,11 +94,11 @@ func (app *App) HandleGetPodLogs(w http.ResponseWriter, r *http.Request) {
 	form := &forms.K8sForm{
 		OutOfClusterConfig: &kubernetes.OutOfClusterConfig{},
 	}
-	form.PopulateK8sOptionsFromQueryParams(vals)
+	form.PopulateK8sOptionsFromQueryParams(vals, app.repo.ServiceAccount)
 
-	if sessID, ok := session.Values["user_id"].(uint); ok {
-		form.PopulateK8sOptionsFromUserID(sessID, app.repo.User)
-	}
+	//	if sessID, ok := session.Values["user_id"].(uint); ok {
+	//		form.PopulateK8sOptionsFromUserID(sessID, app.repo.User)
+	//	}
 
 	// validate the form
 	if err := app.validator.Struct(form); err != nil {
@@ -135,7 +135,7 @@ func (app *App) HandleGetPodLogs(w http.ResponseWriter, r *http.Request) {
 func (app *App) HandleListPods(w http.ResponseWriter, r *http.Request) {
 
 	// get session to retrieve correct kubeconfig
-	session, err := app.store.Get(r, app.cookieName)
+	_, err := app.store.Get(r, app.cookieName)
 
 	if err != nil {
 		app.handleErrorFormDecoding(err, ErrReleaseDecode, w)
@@ -153,11 +153,11 @@ func (app *App) HandleListPods(w http.ResponseWriter, r *http.Request) {
 	form := &forms.K8sForm{
 		OutOfClusterConfig: &kubernetes.OutOfClusterConfig{},
 	}
-	form.PopulateK8sOptionsFromQueryParams(vals)
+	form.PopulateK8sOptionsFromQueryParams(vals, app.repo.ServiceAccount)
 
-	if sessID, ok := session.Values["user_id"].(uint); ok {
-		form.PopulateK8sOptionsFromUserID(sessID, app.repo.User)
-	}
+	//	if sessID, ok := session.Values["user_id"].(uint); ok {
+	//		form.PopulateK8sOptionsFromUserID(sessID, app.repo.User)
+	//	}
 
 	// validate the form
 	if err := app.validator.Struct(form); err != nil {