This instance was upgraded to Heptapod 0.27.2 on 2021-12-08 at 22:00 UTC+1

Unverified Commit 86a8796b authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Create EmailsOnPushService model


Signed-off-by: default avatarDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
parent 1b887c467cdd
......@@ -25,6 +25,7 @@
require_relative "project_services/assembla_service"
require_relative "project_services/campfire_service"
require_relative "project_services/emails_on_push_service"
require_relative "project_services/flowdock_service"
require_relative "project_services/gitlab_ci_service"
require_relative "project_services/hipchat_service"
......@@ -55,6 +56,7 @@ class Project < ActiveRecord::Base
has_one :last_event, -> {order 'events.created_at DESC'}, class_name: 'Event', foreign_key: 'project_id'
has_one :gitlab_ci_service, dependent: :destroy
has_one :campfire_service, dependent: :destroy
has_one :emails_on_push_service, dependent: :destroy
has_one :pivotaltracker_service, dependent: :destroy
has_one :hipchat_service, dependent: :destroy
has_one :flowdock_service, dependent: :destroy
......@@ -244,7 +246,7 @@ def build_missing_services
end
def available_services_names
%w(gitlab_ci campfire hipchat pivotaltracker flowdock assembla)
%w(gitlab_ci campfire hipchat pivotaltracker flowdock assembla emails_on_push)
end
def gitlab_ci?
......
# == Schema Information
#
# Table name: services
#
# id :integer not null, primary key
# type :string(255)
# title :string(255)
# token :string(255)
# project_id :integer not null
# created_at :datetime not null
# updated_at :datetime not null
# active :boolean default(FALSE), not null
# project_url :string(255)
# subdomain :string(255)
# room :string(255)
#
class EmailsOnPushService < Service
attr_accessible :recipients
validates :recipients, presence: true, if: :activated?
def title
'Emails on push'
end
def description
'Send emails to recipients on push'
end
def to_param
'emails_on_push'
end
def execute
true
end
def fields
[
{ type: 'textarea', name: 'recipients', placeholder: 'Recipients' },
]
end
end
class AddRecipientsToService < ActiveRecord::Migration
def change
add_column :services, :recipients, :text
end
end
......@@ -11,7 +11,10 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20131214224427) do
ActiveRecord::Schema.define(version: 20131217102743) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
create_table "broadcast_messages", force: true do |t|
t.text "message", null: false
......@@ -94,20 +97,20 @@
add_index "keys", ["user_id"], name: "index_keys_on_user_id", using: :btree
create_table "merge_requests", force: true do |t|
t.string "target_branch", null: false
t.string "source_branch", null: false
t.integer "source_project_id", null: false
t.string "target_branch", null: false
t.string "source_branch", null: false
t.integer "source_project_id", null: false
t.integer "author_id"
t.integer "assignee_id"
t.string "title"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.text "st_commits", limit: 2147483647
t.text "st_diffs", limit: 2147483647
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.text "st_commits"
t.text "st_diffs"
t.integer "milestone_id"
t.string "state"
t.string "merge_status"
t.integer "target_project_id", null: false
t.integer "target_project_id", null: false
t.integer "iid"
t.text "description"
end
......@@ -219,20 +222,21 @@
t.string "project_url"
t.string "subdomain"
t.string "room"
t.text "recipients"
end
add_index "services", ["project_id"], name: "index_services_on_project_id", using: :btree
create_table "snippets", force: true do |t|
t.string "title"
t.text "content", limit: 2147483647
t.integer "author_id", null: false
t.text "content"
t.integer "author_id", null: false
t.integer "project_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "file_name"
t.datetime "expires_at"
t.boolean "private", default: true, null: false
t.boolean "private", default: true, null: false
t.string "type"
end
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment