85 lines
4.9 KiB
Text
85 lines
4.9 KiB
Text
- form = local_assigns.fetch(:f)
|
||
- commits = local_assigns[:commits]
|
||
- project = @target_project || @project
|
||
- presenter = local_assigns.fetch(:presenter, nil)
|
||
|
||
= form_errors(issuable)
|
||
|
||
- if @conflict
|
||
= render Pajamas::AlertComponent.new(variant: :danger,
|
||
dismissible: false,
|
||
alert_options: { class: 'gl-mb-5' }) do |c|
|
||
= c.body do
|
||
Someone edited the #{issuable.class.model_name.human.downcase} the same time you did.
|
||
Please check out
|
||
= link_to "the #{issuable.class.model_name.human.downcase}", polymorphic_path([@project, issuable]), target: "_blank", rel: 'noopener noreferrer'
|
||
and make sure your changes will not unintentionally remove theirs
|
||
|
||
= render 'shared/issuable/form/branch_chooser', issuable: issuable, form: form
|
||
|
||
.form-group
|
||
= form.label :title do
|
||
= _('Title (required)')
|
||
|
||
= render 'shared/issuable/form/title', issuable: issuable, form: form, has_wip_commits: commits && commits.detect(&:draft?)
|
||
#js-suggestions{ data: { project_path: @project.full_path } }
|
||
|
||
= render 'shared/issuable/form/type_selector', issuable: issuable, form: form
|
||
|
||
= render 'shared/form_elements/description', model: issuable, form: form, project: project
|
||
|
||
= render 'shared/issuable/form/metadata', issuable: issuable, form: form, project: project, presenter: presenter
|
||
|
||
= render 'shared/issuable/form/merge_params', issuable: issuable, project: project
|
||
|
||
= render 'shared/issuable/form/contribution', issuable: issuable, form: form
|
||
|
||
- if @merge_request_to_resolve_discussions_of
|
||
.form-group
|
||
= sprite_icon('information-o')
|
||
- if @merge_request_to_resolve_discussions_of.discussions_can_be_resolved_by?(current_user)
|
||
= hidden_field_tag 'merge_request_to_resolve_discussions_of', @merge_request_to_resolve_discussions_of.iid
|
||
- if @discussion_to_resolve
|
||
= hidden_field_tag 'discussion_to_resolve', @discussion_to_resolve.id
|
||
Creating this issue will resolve the thread in
|
||
- else
|
||
Creating this issue will resolve all threads in
|
||
= link_to_discussions_to_resolve(@merge_request_to_resolve_discussions_of, @discussion_to_resolve)
|
||
- else
|
||
The
|
||
= @discussion_to_resolve ? 'thread' : 'threads'
|
||
at
|
||
= link_to_discussions_to_resolve(@merge_request_to_resolve_discussions_of, @discussion_to_resolve)
|
||
will stay unresolved. Ask someone with permission to resolve
|
||
= @discussion_to_resolve ? 'it.' : 'them.'
|
||
|
||
- is_footer = !(issuable.is_a?(MergeRequest) && issuable.new_record?)
|
||
.gl-mt-5{ class: (is_footer ? "footer-block" : "middle-block") }
|
||
- if !issuable.persisted? && !issuable.project.empty_repo? && (guide_url = issuable.project.present.contribution_guide_path)
|
||
.gl-mb-5
|
||
- contribution_guidelines_start = '<strong><a href="%{url}">'.html_safe % {url: strip_tags(guide_url)}
|
||
- contribution_guidelines_end = '</a></strong>'.html_safe
|
||
= sanitize(html_escape(_('Please review the %{linkStart}contribution guidelines%{linkEnd} for this project.')) % { linkStart: contribution_guidelines_start, linkEnd: contribution_guidelines_end })
|
||
|
||
- if issuable.new_record?
|
||
= form.submit "#{_('Create')} #{issuable.class.model_name.human.downcase}", class: 'gl-button btn btn-confirm gl-mr-2', data: { qa_selector: 'issuable_create_button', track_action: 'click_button', track_label: 'submit_mr', track_value: 0 }
|
||
- else
|
||
= form.submit _('Save changes'), class: 'gl-button btn btn-confirm gl-mr-2', data: { track_action: 'click_button', track_label: 'submit_mr', track_value: 0 }
|
||
|
||
- if issuable.new_record?
|
||
= link_to _('Cancel'), polymorphic_path([@project, issuable.class]), class: 'btn gl-button btn-default js-reset-autosave'
|
||
- else
|
||
= link_to _('Cancel'), polymorphic_path([@project, issuable]), class: 'gl-button btn btn-default js-reset-autosave'
|
||
- if can?(current_user, :"destroy_#{issuable.to_ability_name}", @project)
|
||
- confirm_title = _('Delete %{issuableType}?') % { issuableType: issuable.human_class_name }
|
||
- confirm_body = _('You’re about to permanently delete the %{issuableType} ‘%{strongOpen}%{issuableTitle}%{strongClose}’. To avoid data loss, consider %{strongOpen}closing this %{issuableType}%{strongClose} instead. Once deleted, it cannot be undone or recovered.') % { issuableType: issuable.human_class_name, issuableTitle: issuable.title, strongOpen: '<strong>', strongClose: '</strong>' }
|
||
- confirm_primary_btn_text = _('Delete %{issuableType}') % { issuableType: issuable.human_class_name }
|
||
= link_to _('Delete'), polymorphic_path([@project, issuable], params: { destroy_confirm: true }), data: { title: confirm_title, confirm: confirm_body, is_html_message: true, confirm_btn_variant: 'danger'}, method: :delete, class: 'btn gl-button btn-danger btn-danger-secondary gl-float-right js-reset-autosave', "aria-label": confirm_primary_btn_text
|
||
|
||
- if issuable.respond_to?(:issue_type)
|
||
= form.hidden_field :issue_type
|
||
|
||
= form.hidden_field :lock_version
|
||
|
||
- if @vulnerability_id
|
||
= hidden_field_tag 'vulnerability_id', @vulnerability_id
|