Sha256: f326389e2143b7733f3e889173e2d59b7dc9b08e40c2b8ab8cb5eb316a6fe8e6
Contents?: true
Size: 1.16 KB
Versions: 24
Compression:
Stored size: 1.16 KB
Contents
# frozen_string_literal: true module Thredded class EditTopicForm include ActiveModel::Model delegate :id, :title, :title_was, :category_ids, :locked, :sticky, :messageboard, :messageboard_id, :valid?, :errors, to: :@topic # @param user [Thredded.user_class] # @param topic [Thredded::Topic] def initialize(user:, topic:) @user = user @topic = topic end def self.model_name Thredded::Topic.model_name end def category_options @topic.messageboard.categories.map { |cat| [cat.name, cat.id] } end def messageboard_options @user.thredded_can_write_messageboards.map { |messageboard| [messageboard.name, messageboard.id] } end def save return false unless valid? @topic.save! true end def persisted? true end def path Thredded::UrlsHelper.messageboard_topic_path(@topic.messageboard, @topic) end def edit_path Thredded::UrlsHelper.edit_messageboard_topic_path(@topic.messageboard, @topic) end def messageboard_path Thredded::UrlsHelper.messageboard_topics_path(@topic.messageboard) end end end
Version data entries
24 entries across 24 versions & 1 rubygems