summaryrefslogtreecommitdiff
path: root/app/views/projects/project_variables
diff options
context:
space:
mode:
Diffstat (limited to 'app/views/projects/project_variables')
-rw-r--r--app/views/projects/project_variables/_content.html.haml9
-rw-r--r--app/views/projects/project_variables/_form.html.haml19
-rw-r--r--app/views/projects/project_variables/_index.html.haml16
-rw-r--r--app/views/projects/project_variables/_table.html.haml29
-rw-r--r--app/views/projects/project_variables/show.html.haml9
5 files changed, 82 insertions, 0 deletions
diff --git a/app/views/projects/project_variables/_content.html.haml b/app/views/projects/project_variables/_content.html.haml
new file mode 100644
index 00000000000..98f618ca3b8
--- /dev/null
+++ b/app/views/projects/project_variables/_content.html.haml
@@ -0,0 +1,9 @@
+%h4.prepend-top-0
+ Secret variables
+ = link_to icon('question-circle'), help_page_path('ci/variables/README', anchor: 'secret-variables'), target: '_blank'
+%p
+ These variables will be set to environment by the runner, and could be protected by exposing only to protected branches or tags.
+%p
+ So you can use them for passwords, secret keys or whatever you want.
+%p
+ The value of the variable can be visible in job log if explicitly asked to do so.
diff --git a/app/views/projects/project_variables/_form.html.haml b/app/views/projects/project_variables/_form.html.haml
new file mode 100644
index 00000000000..0a70a301cb4
--- /dev/null
+++ b/app/views/projects/project_variables/_form.html.haml
@@ -0,0 +1,19 @@
+= form_for [@project.namespace.becomes(Namespace), @project, @variable] do |f|
+ = form_errors(@variable)
+
+ .form-group
+ = f.label :key, "Key", class: "label-light"
+ = f.text_field :key, class: "form-control", placeholder: "PROJECT_VARIABLE", required: true
+ .form-group
+ = f.label :value, "Value", class: "label-light"
+ = f.text_area :value, class: "form-control", placeholder: "PROJECT_VARIABLE"
+ .form-group
+ .checkbox
+ = f.label :protected do
+ = f.check_box :protected
+ %strong Protected
+ .help-block
+ This variable will be passed only to pipelines running on protected branches and tags
+ = link_to icon('question-circle'), help_page_path('ci/variables/README', anchor: 'protected-secret-variables'), target: '_blank'
+
+ = f.submit btn_text, class: "btn btn-save"
diff --git a/app/views/projects/project_variables/_index.html.haml b/app/views/projects/project_variables/_index.html.haml
new file mode 100644
index 00000000000..279667728f2
--- /dev/null
+++ b/app/views/projects/project_variables/_index.html.haml
@@ -0,0 +1,16 @@
+.row.prepend-top-default.append-bottom-default
+ .col-lg-4
+ = render "projects/project_variables/content"
+ .col-lg-8
+ %h5.prepend-top-0
+ Add a variable
+ = render "projects/project_variables/form", btn_text: "Add new variable"
+ %hr
+ %h5.prepend-top-0
+ Your variables (#{@project.variables.size})
+ - if @project.variables.empty?
+ %p.settings-message.text-center.append-bottom-0
+ No variables found, add one with the form above.
+ - else
+ = render "projects/project_variables/table"
+ %button.btn.btn-info.js-btn-toggle-reveal-values{ "data-status" => 'hidden' } Reveal Values
diff --git a/app/views/projects/project_variables/_table.html.haml b/app/views/projects/project_variables/_table.html.haml
new file mode 100644
index 00000000000..132f3a5cd4b
--- /dev/null
+++ b/app/views/projects/project_variables/_table.html.haml
@@ -0,0 +1,29 @@
+.table-responsive.variables-table
+ %table.table
+ %colgroup
+ %col
+ %col
+ %col
+ %col{ width: 100 }
+ %thead
+ %th Key
+ %th Value
+ %th Protected
+ %th
+ %tbody
+ - @project.variables.order_key_asc.each do |variable|
+ - if variable.id?
+ %tr
+ %td.variable-key= variable.key
+ %td.variable-value{ "data-value" => variable.value }******
+ %td.variable-protected= Gitlab::Utils.boolean_to_yes_no(variable.protected)
+ %td.variable-menu
+ - puts "variable: #{variable}"
+ = link_to namespace_project_project_variable_path(@project.namespace, @project, variable), class: "btn btn-transparent btn-variable-edit" do
+ %span.sr-only
+ Update
+ = icon("pencil")
+ = link_to namespace_project_project_variable_path(@project.namespace, @project, variable), class: "btn btn-transparent btn-variable-delete", method: :delete, data: { confirm: "Are you sure?" } do
+ %span.sr-only
+ Remove
+ = icon("trash")
diff --git a/app/views/projects/project_variables/show.html.haml b/app/views/projects/project_variables/show.html.haml
new file mode 100644
index 00000000000..297a53ca98c
--- /dev/null
+++ b/app/views/projects/project_variables/show.html.haml
@@ -0,0 +1,9 @@
+- page_title "Variables"
+
+.row.prepend-top-default.append-bottom-default
+ .col-lg-3
+ = render "content"
+ .col-lg-9
+ %h5.prepend-top-0
+ Update variable
+ = render "form", btn_text: "Save variable"