Module: Card::Set::All::New::HtmlFormat

Extended by:
Card::Set::AbstractFormat
Defined in:
tmpsets/set/mod023-edit/all/new.rb

Instance Method Summary collapse

Instance Method Details

#autoname?Boolean

Returns:

  • (Boolean)


70
71
72
# File 'tmpsets/set/mod023-edit/all/new.rb', line 70

def autoname?
  @autoname.nil? ? (@autoname = card.rule_card :autoname).present? : @autoname
end

#cancel_button_new_argsObject

path to redirect to after canceling a new form



121
122
123
124
125
126
127
128
# File 'tmpsets/set/mod023-edit/all/new.rb', line 121

def cancel_button_new_args
  href = case
         when main?          then path_to_previous
         when voo&.home_view then path(view: voo.home_view)
         else                     path(view: :missing)
         end
  { href: href }
end

#needs_name?Boolean

Returns:

  • (Boolean)


74
75
76
# File 'tmpsets/set/mod023-edit/all/new.rb', line 74

def needs_name?
  card.name.blank? && !autoname?
end

#new_form_optsObject



34
35
36
# File 'tmpsets/set/mod023-edit/all/new.rb', line 34

def new_form_opts
  { "main-success" => "REDIRECT" }
end

#new_name_formgroupObject



59
60
61
62
# File 'tmpsets/set/mod023-edit/all/new.rb', line 59

def new_name_formgroup
  output _render_name_formgroup,
         hidden_field_tag("name_prompt", true)
end

#new_name_prompt?Boolean

Returns:

  • (Boolean)


64
65
66
67
68
# File 'tmpsets/set/mod023-edit/all/new.rb', line 64

def new_name_prompt?
  voo.visible? :name_formgroup do
    needs_name? || params[:name_prompt]
  end
end

#new_successObject



45
46
47
# File 'tmpsets/set/mod023-edit/all/new.rb', line 45

def new_success
  card.rule(:thanks) || "_self"
end

#new_type_permitted?Boolean

Returns:

  • (Boolean)


102
103
104
# File 'tmpsets/set/mod023-edit/all/new.rb', line 102

def new_type_permitted?
  Card.new(type_id: card.type_id).ok? :create
end

#new_type_preset?Boolean

Returns:

  • (Boolean)


94
95
96
# File 'tmpsets/set/mod023-edit/all/new.rb', line 94

def new_type_preset?
  params[:type] || voo.type
end

#new_type_prompt?Boolean

Returns:

  • (Boolean)


88
89
90
91
92
# File 'tmpsets/set/mod023-edit/all/new.rb', line 88

def new_type_prompt?
  voo.visible? :new_type_formgroup do
    !new_type_preset? && new_type_prompt_context? && new_type_permitted?
  end
end

#new_type_prompt_context?Boolean

Returns:

  • (Boolean)


98
99
100
# File 'tmpsets/set/mod023-edit/all/new.rb', line 98

def new_type_prompt_context?
  main? || card.simple? || card.is_template?
end

#new_view_frame_and_form(form_opts) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'tmpsets/set/mod023-edit/all/new.rb', line 13

def new_view_frame_and_form form_opts
  buttons = form_opts.delete(:buttons) || _render_new_buttons
  form_opts = form_opts.reverse_merge(success: new_success)

  with_nest_mode :edit do
    voo.title ||= new_view_title if new_name_prompt?
    voo.show :help
    frame_and_form :create, form_opts do
      [
        new_view_hidden,
        new_view_name,
        new_view_type,
        _render_content_formgroup,
        buttons
      ]
    end
  end
end

#new_view_hiddenObject



32
# File 'tmpsets/set/mod023-edit/all/new.rb', line 32

def new_view_hidden; end

#new_view_nameObject

NAME HANDLING



51
52
53
54
55
56
57
# File 'tmpsets/set/mod023-edit/all/new.rb', line 51

def new_view_name
  if new_name_prompt?
    new_name_formgroup
  elsif !autoname?
    hidden_field_tag "card[name]", card.name
  end
end

#new_view_titleObject



38
39
40
41
42
43
# File 'tmpsets/set/mod023-edit/all/new.rb', line 38

def new_view_title
  output(
    "New",
    (card.type_name unless card.type_id == Card.default_type_id)
  )
end

#new_view_typeObject

TYPE HANDLING



80
81
82
83
84
85
86
# File 'tmpsets/set/mod023-edit/all/new.rb', line 80

def new_view_type
  if new_type_prompt?
    _render_new_type_formgroup
  else
    hidden_field_tag "card[type_id]", card.type_id
  end
end

#standard_create_buttonObject



130
131
132
# File 'tmpsets/set/mod023-edit/all/new.rb', line 130

def standard_create_button
  submit_button class: "submit-button create-submit-button"
end