Skip to content

Commit 9da6890

Browse files
committed
Draft of the controller enable capabilities
1 parent 3d58ba4 commit 9da6890

2 files changed

Lines changed: 22 additions & 7 deletions

File tree

app/models/project.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ def to_s
243243
name
244244
end
245245

246-
def w
246+
def workspace_label
247247
case workspace_type
248248
when "program"
249249
I18n.t("label_program")

modules/wikis/app/controllers/wikis/project_settings/wiki_controller.rb

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,24 +30,39 @@
3030

3131
module Wikis
3232
module ProjectSettings
33-
class WikiController < ApplicationController
33+
class WikiController < Projects::SettingsController
3434
include OpTurbo::ComponentStream
3535
include OpTurbo::FlashStreamHelper
3636

3737
menu_item :settings_project_wiki
3838

39-
before_action :authorize
40-
before_action :find_project_by_project_id
39+
before_action :find_project_wiki
4140

4241
def show; end
4342

4443
def create
45-
component = ProjectInternalWikiComponent.new(@project)
46-
replace_via_turbo_stream(component:)
47-
render_success_flash_message_via_turbo_stream(message: "Failed successfully")
44+
Wiki.find_by(project: @project)
45+
46+
create_or_update_wiki
47+
replace_via_turbo_stream(component: ProjectInternalWikiComponent.new(@project.reload))
48+
render_success_flash_message_via_turbo_stream(message: "Internal wiki disenabled for this project.")
4849

4950
respond_with_turbo_streams
5051
end
52+
53+
private
54+
55+
def find_project_wiki
56+
@wiki = Wiki.find_by(project: @project)
57+
end
58+
59+
def create_or_update_wiki
60+
if find_project_wiki
61+
@wiki.toggle!(:enabled)
62+
else
63+
Wiki.create!(project: @project, start_page: "Wiki")
64+
end
65+
end
5166
end
5267
end
5368
end

0 commit comments

Comments
 (0)