mirror of
https://github.com/astuto/astuto.git
synced 2025-12-15 19:27:52 +01:00
* Add tour * Add instructions to set password for OAuth users * Tenant signup improvement * Fix bug on user soft delete * Slighlty darken background color * Add a stronger confirmation for board deletion
79 lines
2.5 KiB
Ruby
79 lines
2.5 KiB
Ruby
class CreateWelcomeEntitiesWorkflow
|
|
def run
|
|
tenant = Current.tenant_or_raise! # check that Current Tenant is set
|
|
owner = tenant.users.first
|
|
|
|
# Create some Boards
|
|
feature_board = Board.create!(
|
|
name: 'Feature Requests',
|
|
description: 'This is a **board**! Go to Site settings > Boards to customise it or add more!',
|
|
order: 0
|
|
)
|
|
bug_board = Board.create!(
|
|
name: 'Bug Reports',
|
|
description: 'Tell us everything about problems you encountered in our services!',
|
|
order: 1
|
|
)
|
|
|
|
# Create some Post Statuses
|
|
planned_post_status = PostStatus.create!(
|
|
name: 'Planned',
|
|
color: '#0096ff',
|
|
order: 0,
|
|
show_in_roadmap: true
|
|
)
|
|
in_progress_post_status = PostStatus.create!(
|
|
name: 'In Progress',
|
|
color: '#9437ff',
|
|
order: 1,
|
|
show_in_roadmap: true
|
|
)
|
|
completed_post_status = PostStatus.create!(
|
|
name: 'Completed',
|
|
color: '#6ac47c',
|
|
order: 2,
|
|
show_in_roadmap: true
|
|
)
|
|
rejected_post_status = PostStatus.create!(
|
|
name: 'Rejected',
|
|
color: '#ff2600',
|
|
order: 3,
|
|
show_in_roadmap: false
|
|
)
|
|
|
|
# Create some Posts
|
|
post1 = Post.create!(
|
|
title: 'This is an example feedback post, click to learn more!',
|
|
description: 'Users can submit feedback by publishing posts like this. You can assign a **status** to each post: this one, for example, is marked as "Planned". Remember that you can customise post statuses from Site settings > Statuses',
|
|
board_id: feature_board.id,
|
|
user_id: owner.id,
|
|
post_status_id: planned_post_status.id
|
|
)
|
|
PostStatusChange.create!(
|
|
post_id: post1.id,
|
|
user_id: owner.id,
|
|
post_status_id: planned_post_status.id
|
|
)
|
|
|
|
post2 = Post.create!(
|
|
title: 'There are multiple boards',
|
|
description: 'We created two boards for you, "Feature Requests" and "Bug Reports", but you can add or remove as many as you want! Just head to Site settings > Boards!',
|
|
board_id: bug_board.id,
|
|
user_id: owner.id
|
|
)
|
|
|
|
# Create some comments
|
|
post1.comments.create!(
|
|
body: 'Users can comment to express their opinions! As with posts and board descriptions, comments can be *Markdown* **formatted**',
|
|
user_id: owner.id
|
|
)
|
|
|
|
# Set first board as root page
|
|
TenantSetting.create!(root_board_id: feature_board.id)
|
|
|
|
# Enable all default oauths
|
|
OAuth.include_only_defaults.each do |o_auth|
|
|
TenantDefaultOAuth.create!(o_auth_id: o_auth.id)
|
|
end
|
|
end
|
|
end |