summaryrefslogtreecommitdiff
path: root/app/views/admin/broadcast_messages/_form.html.haml
blob: 3e698f0508cd387c062b174de15b1b3ce9ded36f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
.broadcast-message.broadcast-banner-message.gl-alert-warning.js-broadcast-banner-message-preview.gl-mt-3{ style: broadcast_message_style(@broadcast_message), class: ('gl-display-none' unless @broadcast_message.banner? ) }
  .gl-alert-container
    = sprite_icon('bullhorn', css_class: 'vertical-align-text-top')
    .js-broadcast-message-preview
      .gl-alert-content
        - if @broadcast_message.message.present?
          = render_broadcast_message(@broadcast_message)
        - else
          = _('Your message here')
.d-flex.justify-content-center
  .broadcast-message.broadcast-notification-message.preview.js-broadcast-notification-message-preview.mt-2{ class: ('hidden' unless @broadcast_message.notification? ) }
    = sprite_icon('bullhorn', css_class: 'vertical-align-text-top')
    .js-broadcast-message-preview
      - if @broadcast_message.message.present?
        = render_broadcast_message(@broadcast_message)
      - else
        = _('Your message here')

= gitlab_ui_form_for [:admin, @broadcast_message], html: { class: 'broadcast-message-form js-quick-submit js-requires-input'} do |f|
  = form_errors(@broadcast_message)

  .form-group.row.mt-4
    .col-sm-2.col-form-label
      = f.label :message
    .col-sm-10
      = f.text_area :message, class: "form-control gl-form-input js-autosize js-broadcast-message-message",
        required: true,
        dir: 'auto',
        data: { preview_path: preview_admin_broadcast_messages_path }
  .form-group.row
    .col-sm-2.col-form-label
      = f.label :broadcast_type, _('Type')
    .col-sm-10
      = f.select :broadcast_type, broadcast_type_options, {}, class: 'form-control js-broadcast-message-type'
  .form-group.row.js-broadcast-message-background-color-form-group{ class: ('hidden' unless @broadcast_message.banner? ) }
    .col-sm-2.col-form-label
      = f.label :color, _("Background color")
    .col-sm-10
      .input-group
        .input-group-prepend
          .input-group-text.label-color-preview{ :style => 'background-color: ' + @broadcast_message.color + '; color: ' + @broadcast_message.font }
            = ' '.html_safe
        = f.text_field :color, class: "form-control gl-form-input js-broadcast-message-color"
      .form-text.text-muted
        = _('Choose any color.')
        %br
        = _("Or you can choose one of the suggested colors below")

      = render_suggested_colors

  .form-group.row.js-broadcast-message-dismissable-form-group{ class: ('hidden' unless @broadcast_message.banner? ) }
    .col-sm-2.col-form-label.pt-0
      = f.label :starts_at, _("Dismissable")
    .col-sm-10
      = f.gitlab_ui_checkbox_component :dismissable, _('Allow users to dismiss the broadcast message')
  - if Feature.enabled?(:role_targeted_broadcast_messages, default_enabled: :yaml)
    .form-group.row
      .col-sm-2.col-form-label
        = f.label :target_access_levels, _('Target roles')
      .col-sm-10
        - target_access_level_options.each do |human_access_level, access_level|
          = f.gitlab_ui_checkbox_component :target_access_levels, human_access_level, checked_value: access_level, unchecked_value: false, checkbox_options: { multiple: true }
        .form-text.text-muted
          = _('The broadcast message displays only to users in projects and groups who have these roles.')
  .form-group.row.js-toggle-colors-container.toggle-colors.hide
    .col-sm-2.col-form-label
      = f.label :font, _("Font Color")
    .col-sm-10
      = f.color_field :font, class: "form-control gl-form-input text-font-color"
  .form-group.row
    .col-sm-2.col-form-label
      = f.label :target_path, _('Target Path')
    .col-sm-10
      = f.text_field :target_path, class: "form-control gl-form-input"
      .form-text.text-muted
        = _('Paths can contain wildcards, like */welcome')
  .form-group.row
    .col-sm-2.col-form-label
      = f.label :starts_at, _("Starts at (UTC)")
    .col-sm-10.datetime-controls
      = f.datetime_select :starts_at, {}, class: 'form-control form-control-inline'
  .form-group.row
    .col-sm-2.col-form-label
      = f.label :ends_at, _("Ends at (UTC)")
    .col-sm-10.datetime-controls
      = f.datetime_select :ends_at, {}, class: 'form-control form-control-inline'
  .form-actions
    - if @broadcast_message.persisted?
      = f.submit _("Update broadcast message"), class: "btn gl-button btn-confirm"
    - else
      = f.submit _("Add broadcast message"), class: "btn gl-button btn-confirm"