From 2d3b6375f38ac6e3a14fad93f243c258d74b0331 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Wed, 4 Jan 2012 02:07:56 +0200 Subject: [PATCH] hooks scaffold --- app/assets/stylesheets/projects.css.scss | 7 +++++++ app/controllers/hooks_controller.rb | 5 ++--- app/helpers/projects_helper.rb | 3 ++- app/views/hooks/index.html.haml | 8 +++++++- app/views/hooks/new.html.haml | 13 +++++++++++++ app/views/hooks/show.html.haml | 7 +++++++ app/views/repositories/_head.html.haml | 2 +- config/routes.rb | 2 +- 8 files changed, 40 insertions(+), 7 deletions(-) create mode 100644 app/views/hooks/new.html.haml create mode 100644 app/views/hooks/show.html.haml diff --git a/app/assets/stylesheets/projects.css.scss b/app/assets/stylesheets/projects.css.scss index 316ef033e..63b15bae4 100644 --- a/app/assets/stylesheets/projects.css.scss +++ b/app/assets/stylesheets/projects.css.scss @@ -181,6 +181,13 @@ input.ssh_project_url { } } +.text_field { + width:400px; + padding:8px; + font-size:14px; + @include round-borders-all(4px); +} + .input_button { padding:8px; font-size:14px; diff --git a/app/controllers/hooks_controller.rb b/app/controllers/hooks_controller.rb index 70516dacf..9205a6a6f 100644 --- a/app/controllers/hooks_controller.rb +++ b/app/controllers/hooks_controller.rb @@ -20,13 +20,12 @@ class HooksController < ApplicationController def create @hook = @project.web_hooks.new(params[:hook]) - @hook.author = current_user @hook.save if @hook.valid? - redirect_to [@project, @hook] + redirect_to project_hook_path(@project, @hook) else - respond_with(@hook) + render :new end end diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index 902d27801..57786338c 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -35,7 +35,8 @@ module ProjectsHelper end def repository_tab_class - if controller.controller_name == "repositories" + if controller.controller_name == "repositories" || + controller.controller_name == "hooks" "current" end end diff --git a/app/views/hooks/index.html.haml b/app/views/hooks/index.html.haml index 956367393..b0795ad4b 100644 --- a/app/views/hooks/index.html.haml +++ b/app/views/hooks/index.html.haml @@ -1,10 +1,16 @@ = render "repositories/head" +.right= link_to "Add new", new_project_hook_path(@project), :class => "grey-button append-bottom-10" - unless @hooks.empty? %div.update-data.ui-box.ui-box-small .data - @hooks.each do |hook| - %a.update-item{:href => project_hooks_path(@project, hook)} + %a.update-item{:href => project_hook_path(@project, hook)} %span.update-title{:style => "margin-bottom:0px;"} = hook.url + %span.update-author.right + Added + = time_ago_in_words(hook.created_at) + ago - else %h3 No hooks + diff --git a/app/views/hooks/new.html.haml b/app/views/hooks/new.html.haml new file mode 100644 index 000000000..8078aefa5 --- /dev/null +++ b/app/views/hooks/new.html.haml @@ -0,0 +1,13 @@ += render "repositories/head" += form_for [@project, @hook], :as => :hook, :url => project_hooks_path(@project) do |f| + -if @hook.errors.any? + %ul + - @hook.errors.full_messages.each do |msg| + %li= msg + = f.label :url, "URL:" + = f.text_field :url, :class => "text_field" + .clear + %br + .merge-tabs + = f.submit "Save", :class => "grey-button" + diff --git a/app/views/hooks/show.html.haml b/app/views/hooks/show.html.haml new file mode 100644 index 000000000..56b5fa9d3 --- /dev/null +++ b/app/views/hooks/show.html.haml @@ -0,0 +1,7 @@ += render "repositories/head" += debug @hook + +- if can? current_user, :admin_project, @project + .merge-tabs + .right + = link_to 'Remove', project_hook_path(@project, @hook), :confirm => 'Are you sure?', :method => :delete, :class => "red-button" diff --git a/app/views/repositories/_head.html.haml b/app/views/repositories/_head.html.haml index c22286ec0..7ada9ff77 100644 --- a/app/views/repositories/_head.html.haml +++ b/app/views/repositories/_head.html.haml @@ -8,7 +8,7 @@ = link_to tags_project_repository_path(@project), :class => "tab #{'active' if current_page?(tags_project_repository_path(@project)) }" do %span Tags - -#= link_to "#", :class => "tab" do + = link_to project_hooks_path, :class => "tab #{'active' if controller.controller_name == "hooks" }" do %span Hooks -#= link_to "#", :class => "tab" do diff --git a/config/routes.rb b/config/routes.rb index 416ea6a94..5f129c904 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -84,8 +84,8 @@ Gitlab::Application.routes.draw do end end - resources :hooks, :only => [:index, :new, :create, :destroy, :show] resources :snippets + resources :hooks, :only => [:index, :new, :create, :destroy, :show] resources :commits resources :team_members resources :issues do -- 2.11.0