Commit graph

12 commits

Author SHA1 Message Date
Thong Kuah
f82c9dbe44 Use finder to decide to show note to user
Given the note is about how to interpret ancestor clusters, use the
finder which actually knows if there are any ancestor clusters to find
out if the note should be shown, rather than passing the same info via a
view to a helper

Added note about Kaminari.paginate_array

Link to followup issue too
2018-12-17 09:51:53 +13:00
Thong Kuah
7e4f76ea89 Show clusters of ancestors in cluster list page
Show both the cluster(s) of the clusterable, and the cluster(s) of
ancestor groups.
2018-12-17 09:50:52 +13:00
Dylan Griffith
ecda32eaa2 Extract Clusters::BuildService 2018-12-10 14:14:20 +01:00
Thong Kuah
01dc3c966f Refactor to re-use similar block 2018-12-10 13:57:19 +13:00
Thong Kuah
22289352be Set cluster_type for a new cluster
This enables #allow_user_defined_namespace? to work so that the form for
a group cluster will now longer show the "Project namespace" field.
2018-12-10 13:57:19 +13:00
Amit Rathi
1cdcf40265 Allows user to override default issuer email for cert manager 2018-12-07 21:40:03 +05:30
Thong Kuah
5a042ef2fb Only project clusters has Project Namespace field
Group clusters should not allow Project Namespace so don't show that
field input too
2018-11-08 23:28:30 +13:00
Thong Kuah
1a1fdf8efe Resolve controller sharing concern
Use ClustersController as base while having Projects::ClustersController
to inform what `clusterable` is. Thanks @ayufan for the great suggestion
!

- View changes to work with new approach

- Fix javascript for new approach

- Fix feature specs for new approach

- Fix QA
2018-11-01 19:37:33 +13:00
Thong Kuah
28dabc67f4 Restore 403 functionality for external auth (EE)
When we unhooked ClustersController from
Project::ApplicationsController, we missed an EE override to
handle_not_found_or_authorized.

Rather than carry on with override RoutingActions, make a specific proc
for Project that we override in EE instead. Use that proc in both
Clusters::BaseController and Project::ApplicationsController.
2018-11-01 19:37:32 +13:00
Thong Kuah
1163b23539 Move view and path concerns to presenters
- Move show path for cluster to ClusterPresenter

- Create ClusterablePresenter to encapsulate logic. Consolidates
scattered methods from BaseController and ClustersHelper into an object.
2018-11-01 19:37:32 +13:00
Thong Kuah
88800abcd8 Abstract out project out of ClustersController
To the extent possible swap out `project` with `clusterable`

- Abstract paths for showing cluster or clusters. This will allow us to
swap in alternative paths for group level cluster

- Push :project_id and :namespace_id params from the URL to the POST
body.

- Create a nice helper for to generate links for the destroy
action

For some reason, spec :project_id and :namespace_id param are not going
through `to_param` for a JSON format. Manually call `to_param` to fix
specs.

- Move :layout to BaseController
2018-11-01 19:36:58 +13:00
Thong Kuah
5b3c096c9e Convert clusters to use a top-level controller
In preparation so that we can create both cluster attached to project
and cluster attached to group.

- Move ClustersController to top level

- Move Clusters::ApplicationsController to top-level too

- Creates a Clusters::BaseController to share common functions

- Do not rely on @project ivar. Anything could set the ivar.

- Fix Vue page components due to new data-page value

Because of the controller change we have gone from
`projects:clusters:new` to `clusters:new`, so we need to update the file
location of the page components. There is somewhere a function that will
convert data-page to a file location.

On that note, projects/clusters/gcp/new/, translate to
Projects::Clusters::Gcp#new doesn't exist so replace that with
clusters/create_gcp/ and clusters/create_user/
2018-11-01 18:38:36 +13:00