mconf/mconf-web

View on GitHub
app/views/custom_bigbluebutton_rooms/_form.html.haml

Summary

Maintainability
Test Coverage
-# locals:
-#   editing (boolean): allow editing of this form?
-#   room (Room): the target bigbluebutton_room model

- if room.new_record?
  - url = bigbluebutton_rooms_path
- else
  - url = bigbluebutton_room_path(room)

= simple_form_for room, :url => url, :html => { :class => 'single-column' } do |f|
  - if !editing
    = f.input :id, :disabled => true
  = f.input :server_id, :disabled => !editing
  = f.input :name, :disabled => !editing
  = f.input :meetingid, :disabled => !editing
  = f.input :private, :as => :boolean, :disabled => !editing
  = f.input :attendee_key, :disabled => !editing
  = f.input :moderator_key, :disabled => !editing
  = f.input :attendee_api_password, :disabled => true
  = f.input :moderator_api_password, :disabled => true
  = f.input :welcome_msg, :disabled => !editing
  = f.input :logout_url, :disabled => !editing
  = f.input :dial_number, :disabled => !editing
  = f.input :voice_bridge, :disabled => !editing
  = f.input :external, :as => :boolean, :disabled => !editing
  = f.input :record_meeting, :disabled => !editing
  = f.input :duration, :disabled => !editing
  = f.input :max_participants, :disabled => !editing
  = f.input :slug, :as => :string, :hint => t('simple_form.hints.user.bigbluebutton_room.url'), :wrapper => :vertical_input_group do
    = content_tag :span, webconf_url_prefix, class: "input-group-addon"
    = f.input_field :slug, class: "form-control", :disabled => !editing
  = f.input :moderator_only_message, :disabled => !editing
  = f.input :auto_start_recording, :disabled => !editing
  = f.input :allow_start_stop_recording, :disabled => !editing

  #room-advanced-options
    - if editing
      = f.input :default_layout do
        = f.select :default_layout, room.available_layouts_for_select, :include_blank => t('.layout_empty_option')
    - else
      = f.input :default_layout, :as => :string, :disabled => true
    = f.input :presenter_share_only, :as => :select, :hint => t('simple_form.hints.user.bigbluebutton_room.presenter_share_only'), :disabled => !editing
    = f.input :auto_start_video, :as => :select, :hint => t('simple_form.hints.user.bigbluebutton_room.auto_start_video'), :disabled => !editing
    = f.input :auto_start_audio, :as => :select, :hint => t('simple_form.hints.user.bigbluebutton_room.auto_start_audio'), :disabled => !editing
    = f.input :background, :as => :string, :disabled => !editing

  - if editing
    - if room.new_record?
      - cancel_route = nil
    - else
      - cancel_route = bigbluebutton_room_path(room)
      %label
        = BigbluebuttonRoom.human_attribute_name(:metadata)
        %button.btn.btn-primary.btn-small#room-metadata-add= t(".metadata.add")
      #room-metadata{ :"data-metadata-count" => room.metadata.count }
        = f.simple_fields_for :metadata do |metadata_form|
          .room-metadata-field
            = metadata_form.label :name
            = metadata_form.text_field :name
            = metadata_form.label :content
            = metadata_form.text_field :content
            = metadata_form.check_box :_destroy
            = metadata_form.label :_destroy, t(".metadata.set_to_remove")
    = f.button :wrapped, :cancel => cancel_route, :value => t("_other.save")
  - else
    - unless room.new_record?
      %label= BigbluebuttonRoom.human_attribute_name(:metadata)
      #room-metadata{ :"data-metadata-count" => room.metadata.count }
        = f.simple_fields_for :metadata do |metadata_form|
          .room-metadata-field
            = metadata_form.label :name
            = metadata_form.text_field :name, :disabled => true
            = metadata_form.label :content
            = metadata_form.text_field :content, :disabled => true
      .form-actions
        = link_to t('_other.edit'), edit_bigbluebutton_room_path(room), :class => "btn btn-primary"