redmine_mautic 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +39 -0
- data/Rakefile +17 -0
- data/app/assets/images/redmine_mautic/.keep +0 -0
- data/app/assets/javascripts/redmine_mautic/.keep +0 -0
- data/app/assets/stylesheets/redmine_mautic/.keep +0 -0
- data/app/controllers/redmine_mautic_controller.rb +3 -0
- data/app/helpers/.keep +0 -0
- data/app/mailers/.keep +0 -0
- data/app/models/.keep +0 -0
- data/app/views/.keep +0 -0
- data/app/views/issues/redmine_mautic/_view_issues_show_details_bottom.html.erb +8 -0
- data/app/views/redmine_mautic/_form.html.erb +32 -0
- data/app/views/redmine_mautic/edit.html.erb +8 -0
- data/app/views/redmine_mautic/index.html.erb +37 -0
- data/app/views/redmine_mautic/new.html.erb +8 -0
- data/config/initializers/01_access_control.rb +37 -0
- data/config/initializers/02_menu_manager.rb +24 -0
- data/config/initializers/03_hooks.rb +8 -0
- data/config/initializers/04_features.rb +7 -0
- data/config/initializers/mautic.rb +1 -0
- data/config/locales/en.yml +4 -0
- data/config/routes.rb +23 -0
- data/db/migrate/.keeo +0 -0
- data/gems.rb +20 -0
- data/lib/redmine_mautic.rb +7 -0
- data/lib/redmine_mautic/engine.rb +12 -0
- data/lib/redmine_mautic/version.rb +3 -0
- data/lib/tasks/redmine_mautic.rake +16 -0
- data/patches/controllers/issues_controller.rb.example +37 -0
- data/patches/core_ext/string.rb.example +20 -0
- data/patches/models/project.rb.example +28 -0
- data/spec/controllers/submit_form_spec.rb +42 -0
- data/spec/factories/factory.rb +7 -0
- data/spec/features/feature_spec.rb +6 -0
- data/spec/models/model_spec.rb +7 -0
- data/spec/requests/redmine_mautic_spec.rb +20 -0
- data/spec/spec_helper.rb +9 -0
- data/spec/support/support.rb +4 -0
- metadata +116 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 2dd12867669658f7fbef2bf96263cc2b0c7807f0aeab9c3ca35a568460ed5c26
|
4
|
+
data.tar.gz: 35d02d9c9d0321312d04dd097506db2cbe04b45fa7aab1112d9073125c170bd1
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 5e1a48adcdb3d24d63adef2e70c483951c37cfa03b14f665d3ca6b7d0cf87f958010b7cfd1b55fee1303582b4d306b60cebbaa758df4909039de3ffb1816d08a
|
7
|
+
data.tar.gz: 91c421904416debe2e82ab047d58563a5f2a542968cb38fb149c15390888f5f1acaea26189246bca444e8486dabf70bbd648e687368ec4ffc28161f233d60256
|
data/README.md
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
# Redmine interface for mautic rails gem
|
2
|
+
|
3
|
+
This [redmine](https://github.com/redmine/redmine) feature allow to simply create new connection to your mautic for API integration
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add to your gemfile
|
8
|
+
|
9
|
+
gem "rys", github: "easysoftware/rys"
|
10
|
+
gem "mautic_redmine", github: "luk4s/redmine_mautic"
|
11
|
+
|
12
|
+
Then run
|
13
|
+
|
14
|
+
bundle install
|
15
|
+
|
16
|
+
And of course migrations
|
17
|
+
|
18
|
+
rake db:migrate
|
19
|
+
|
20
|
+
## Usage
|
21
|
+
|
22
|
+
Connections list are manage on address `/redmine_mautic`.
|
23
|
+
|
24
|
+
Add new connection in 3+1 steps:
|
25
|
+
|
26
|
+
1. New button on `/redmine_mautic` > type your mautic URL and hit "create"
|
27
|
+
2. In your mautic create new API credentials and as callback url use url from form in redmine.
|
28
|
+
3. Copy keys from mautic to redmine form and press "update".
|
29
|
+
4. Hit "Authorize" button...
|
30
|
+
|
31
|
+
## Development
|
32
|
+
|
33
|
+
For development [ryspec](https://github.com/easysoftware/ryspec) plugin is recommended
|
34
|
+
|
35
|
+
gem 'ryspec', github: "easysoftware/ryspec"
|
36
|
+
|
37
|
+
## Contributing
|
38
|
+
|
39
|
+
Pull requests are welcome
|
data/Rakefile
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'bundler/setup'
|
2
|
+
|
3
|
+
possible_app_dirs = [
|
4
|
+
ENV['DUMMY_PATH'],
|
5
|
+
File.join(Dir.pwd, 'test/dummy')
|
6
|
+
]
|
7
|
+
dir = possible_app_dirs.compact.first
|
8
|
+
|
9
|
+
if !File.directory?(dir)
|
10
|
+
abort("Directory '#{dir}' does not exists")
|
11
|
+
end
|
12
|
+
|
13
|
+
APP_RAKEFILE = File.expand_path(File.join(dir, 'Rakefile'), __dir__)
|
14
|
+
load 'rails/tasks/engine.rake'
|
15
|
+
load 'rails/tasks/statistics.rake'
|
16
|
+
|
17
|
+
Bundler::GemHelper.install_tasks
|
File without changes
|
File without changes
|
File without changes
|
data/app/helpers/.keep
ADDED
File without changes
|
data/app/mailers/.keep
ADDED
File without changes
|
data/app/models/.keep
ADDED
File without changes
|
data/app/views/.keep
ADDED
File without changes
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<%= error_messages_for form.object %>
|
2
|
+
|
3
|
+
<div class="box tabular">
|
4
|
+
<p class="field">
|
5
|
+
<%= form.select :type, %w(Mautic::Connections::Oauth2) %>
|
6
|
+
</p>
|
7
|
+
|
8
|
+
<p class="field">
|
9
|
+
<%= form.text_field :url, label: form.object.class.human_attribute_name(:url), placeholder: 'https://mautic.org', required: true %>
|
10
|
+
</p>
|
11
|
+
</div>
|
12
|
+
<div class="box tabular">
|
13
|
+
<% unless form.object.new_record? %>
|
14
|
+
<p class="field">
|
15
|
+
<label>Callback url</label>
|
16
|
+
<%= Setting.protocol %>://<%= Setting.host_name %>/mautic/connections/<%= (form.object.id || Mautic::Connection.last.id.next) %>/oauth2
|
17
|
+
<em class="info">Now generate pair of tokens with this callback url</em>
|
18
|
+
</p>
|
19
|
+
<p class="field settings">
|
20
|
+
<%= form.text_field :client_id, label: form.object.class.human_attribute_name(:client_id), size: 50 %>
|
21
|
+
</p>
|
22
|
+
|
23
|
+
<p class="field">
|
24
|
+
<%= form.text_field :secret, label: form.object.class.human_attribute_name(:secret), size: 50 %>
|
25
|
+
</p>
|
26
|
+
|
27
|
+
<% end %>
|
28
|
+
|
29
|
+
<p class="actions">
|
30
|
+
<%= form.submit %>
|
31
|
+
</p>
|
32
|
+
</div>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<div class="contextual">
|
2
|
+
<%= link_to l(:button_back), redmine_mautic_index_path %>
|
3
|
+
</div>
|
4
|
+
|
5
|
+
<h1>Edit connection to <%= @mautic_connection.url %></h1>
|
6
|
+
<%= labelled_form_for(@mautic_connection, as: :connection, url: redmine_mautic_path(@mautic_connection)) do |form| %>
|
7
|
+
<%= render 'form', form: form %>
|
8
|
+
<% end %>
|
@@ -0,0 +1,37 @@
|
|
1
|
+
<div class="contextual">
|
2
|
+
<%= link_to l("redmine_mautic.label_new_connection"), new_redmine_mautic_path, class: 'icon icon-add' %>
|
3
|
+
</div>
|
4
|
+
<h1>Mautic Connections</h1>
|
5
|
+
<% if @mautic_connections.any? %>
|
6
|
+
<table class="list">
|
7
|
+
<thead>
|
8
|
+
<tr>
|
9
|
+
<th>Url</th>
|
10
|
+
<th>Client</th>
|
11
|
+
<th>Secret</th>
|
12
|
+
<th></th>
|
13
|
+
</tr>
|
14
|
+
</thead>
|
15
|
+
|
16
|
+
<tbody>
|
17
|
+
<% @mautic_connections.each do |mautic_connection| %>
|
18
|
+
<tr id="<%= dom_id mautic_connection %>">
|
19
|
+
<td><%= mautic_connection.url %></td>
|
20
|
+
<td><%= mautic_connection.client_id %></td>
|
21
|
+
<td><%= mautic_connection.secret %></td>
|
22
|
+
<td class="buttons">
|
23
|
+
<%= link_to l(:button_edit), edit_redmine_mautic_path(mautic_connection), class: 'icon icon-edit' %>
|
24
|
+
<%= link_to l(:button_delete), redmine_mautic_path(mautic_connection), method: :delete, data: { confirm: l(:text_are_you_sure), rmeote: true }, class: 'icon icon-del' %>
|
25
|
+
<% if mautic_connection.refresh_token.blank? %>
|
26
|
+
<%= link_to('Authorize', mautic.authorize_connection_path(mautic_connection), class: 'icon icon-server-authentication', target: '_blank') %>
|
27
|
+
<% else %>
|
28
|
+
<%= link_to('re-Authorize', mautic.authorize_connection_path(mautic_connection), class: 'icon icon-reload', target: '_blank') %>
|
29
|
+
<% end %>
|
30
|
+
</td>
|
31
|
+
</tr>
|
32
|
+
<% end %>
|
33
|
+
</tbody>
|
34
|
+
</table>
|
35
|
+
<% else %>
|
36
|
+
<p class="nodata"><%= l :label_no_data %></p>
|
37
|
+
<% end %>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<div class="contextual">
|
2
|
+
<%= link_to l(:button_back), redmine_mautic_index_path %>
|
3
|
+
</div>
|
4
|
+
|
5
|
+
<h1>New connection</h1>
|
6
|
+
<%= labelled_form_for(@mautic_connection, as: :connection, url: :redmine_mautic_index) do |form| %>
|
7
|
+
<%= render 'form', form: form %>
|
8
|
+
<% end %>
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# Redmine::AccessControl.map do |map|
|
2
|
+
#
|
3
|
+
# # ---------------------------------------------------------------------------
|
4
|
+
# # Global level
|
5
|
+
#
|
6
|
+
# # View on global
|
7
|
+
#
|
8
|
+
# map.permission(:view_redmine_mautics, {
|
9
|
+
# redmine_mautic: [:index, :show]
|
10
|
+
# }, read: true, global: true)
|
11
|
+
#
|
12
|
+
# # Manage on global
|
13
|
+
#
|
14
|
+
# map.permission(:manage_redmine_mautics, {
|
15
|
+
# redmine_mautic: [:new, :create, :edit, :update, :destroy]
|
16
|
+
# }, require: :loggedin, global: true)
|
17
|
+
#
|
18
|
+
# # ---------------------------------------------------------------------------
|
19
|
+
# # Project level
|
20
|
+
#
|
21
|
+
# map.project_module :redmine_mautic do |pmap|
|
22
|
+
#
|
23
|
+
# # View on project
|
24
|
+
#
|
25
|
+
# pmap.permission(:view_redmine_mautic, {
|
26
|
+
# redmine_mautic: [:index, :show]
|
27
|
+
# }, read: true)
|
28
|
+
#
|
29
|
+
# # Edit on project
|
30
|
+
#
|
31
|
+
# pmap.permission(:manage_redmine_mautic, {
|
32
|
+
# redmine_mautic: [:new, :create, :edit, :update, :destroy]
|
33
|
+
# }, require: :loggedin)
|
34
|
+
#
|
35
|
+
# end
|
36
|
+
#
|
37
|
+
# end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# Redmine::MenuManager.map :admin_menu do |menu|
|
2
|
+
# menu.push :redmine_mautic,
|
3
|
+
# :redmine_mautics_path,
|
4
|
+
# caption: :label_redmine_mautics,
|
5
|
+
# html: { class: 'icon icon-invoice' },
|
6
|
+
# if: proc { |p| User.current.admin? }
|
7
|
+
# end
|
8
|
+
|
9
|
+
# Redmine::MenuManager.map :project_menu do |menu|
|
10
|
+
# menu.push :redmine_mautic,
|
11
|
+
# :redmine_mautics_path,
|
12
|
+
# caption: :label_redmine_mautics,
|
13
|
+
# param: :project_id,
|
14
|
+
# html: { class: 'icon icon-invoice' },
|
15
|
+
# if: proc { |p| User.current.admin? }
|
16
|
+
# end
|
17
|
+
|
18
|
+
# Redmine::MenuManager.map :top_menu do |menu|
|
19
|
+
# menu.push :redmine_mautic,
|
20
|
+
# :redmine_mautics_path,
|
21
|
+
# caption: :label_redmine_mautics,
|
22
|
+
# html: { class: 'icon icon-invoice' },
|
23
|
+
# if: proc { |p| User.current.admin? }
|
24
|
+
# end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# Hooks definitions
|
2
|
+
# http://www.redmine.org/projects/redmine/wiki/Hooks
|
3
|
+
#
|
4
|
+
# module RedmineMautic
|
5
|
+
# class Hooks < ::Redmine::Hook::ViewListener
|
6
|
+
# render_on :view_issues_show_details_bottom, partial: 'issues/redmine_mautic/view_issues_show_details_bottom'
|
7
|
+
# end
|
8
|
+
# end
|
@@ -0,0 +1 @@
|
|
1
|
+
Mautic.config.base_url = ->(_) { "#{Setting.protocol}://#{Setting.host_name}" }
|
data/config/routes.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
Rails.application.routes.draw do
|
2
|
+
|
3
|
+
# Usually definition
|
4
|
+
#
|
5
|
+
# get 'redmine_mautic_issue_1', to: 'issues#index'
|
6
|
+
|
7
|
+
# Conditional definition
|
8
|
+
#
|
9
|
+
# get 'redmine_mautic_issues_2', to: 'issues#index', rys_feature: 'redmine_mautic.issue'
|
10
|
+
|
11
|
+
# Conditional block definiton
|
12
|
+
#
|
13
|
+
# rys_feature 'redmine_mautic.issue' do
|
14
|
+
# get 'redmine_mautic_issues_3', to: 'issues#index'
|
15
|
+
# end
|
16
|
+
|
17
|
+
rys_feature 'redmine_mautic' do
|
18
|
+
mount Mautic::Engine => '/mautic'
|
19
|
+
resources :redmine_mautic
|
20
|
+
end
|
21
|
+
|
22
|
+
# get '/redmine_mautic', to: 'redmine_mautic#index'
|
23
|
+
end
|
data/db/migrate/.keeo
ADDED
File without changes
|
data/gems.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
gemspec
|
4
|
+
|
5
|
+
# There are defined commands, after install hook and custom hooks
|
6
|
+
plugin 'rys-bundler', github: 'easysoftware/rys-bundler', branch: 'master'
|
7
|
+
|
8
|
+
# Common dependencies
|
9
|
+
eval_gemfile('dependencies.rb')
|
10
|
+
|
11
|
+
# Loading gems dependecies in right moment
|
12
|
+
Plugin.hook('rys-gemfile', self)
|
13
|
+
|
14
|
+
# Loading gems from dummy application
|
15
|
+
# Possible paths (by priority)
|
16
|
+
# 1. As second argument
|
17
|
+
# 2. Environment variable DUMMY_PATH
|
18
|
+
# 3. Current_dir / test / dummy
|
19
|
+
Plugin.hook('rys-load-dummy', self)
|
20
|
+
gem "mautic", path: "/Users/lukas/_projects/mautic"
|
@@ -0,0 +1,16 @@
|
|
1
|
+
begin
|
2
|
+
require 'rspec/core/rake_task'
|
3
|
+
|
4
|
+
namespace :redmine_mautic do
|
5
|
+
desc 'Runs rspec tests'
|
6
|
+
RSpec::Core::RakeTask.new(:spec) do |task, task_args|
|
7
|
+
args = []
|
8
|
+
args << '--require' << Ryspec::Engine.root.join('spec/spec_helper')
|
9
|
+
|
10
|
+
task.rspec_opts = args
|
11
|
+
task.pattern = RedmineMautic::Engine.root.join('spec/**/*_spec.rb')
|
12
|
+
end
|
13
|
+
end
|
14
|
+
rescue StandardError, LoadError
|
15
|
+
|
16
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
Rys::Patcher.add('IssuesController') do
|
2
|
+
|
3
|
+
included do
|
4
|
+
before_action :redmine_mautic_add_flash_notice, only: [:show]
|
5
|
+
end
|
6
|
+
|
7
|
+
instance_methods do
|
8
|
+
def show
|
9
|
+
Rys::Feature.on('redmine_mautic.issue.show') do
|
10
|
+
@redmine_mautic_test_1 = 'Test 2'
|
11
|
+
end
|
12
|
+
|
13
|
+
super
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def redmine_mautic_add_flash_notice
|
19
|
+
if Rys::Feature.active?('redmine_mautic.issue.show', 'redmine_mautic.project.show')
|
20
|
+
flash.now[:notice] = 'Features are activated'
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
|
26
|
+
instance_methods(feature: 'redmine_mautic.issue.show') do
|
27
|
+
def show
|
28
|
+
@redmine_mautic_test_2 = 'Test 2'
|
29
|
+
|
30
|
+
super
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
class_methods do
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
Rys::Patcher.add('String') do
|
2
|
+
|
3
|
+
apply_only_once!
|
4
|
+
|
5
|
+
apply_if do
|
6
|
+
!String.new.respond_to?(:to_boolean)
|
7
|
+
end
|
8
|
+
|
9
|
+
instance_methods do
|
10
|
+
def to_boolean
|
11
|
+
case self
|
12
|
+
when 'yes', 'y', 'true', 't', '1'
|
13
|
+
true
|
14
|
+
else
|
15
|
+
false
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
Rys::Patcher.add('Project') do
|
2
|
+
|
3
|
+
included do
|
4
|
+
# has_many :things
|
5
|
+
|
6
|
+
after_commit :redmine_mautic_ensure_something, if: -> { Rys::Feature.active?('redmine_mautic.project') }
|
7
|
+
end
|
8
|
+
|
9
|
+
instance_methods do
|
10
|
+
|
11
|
+
private
|
12
|
+
|
13
|
+
def redmine_mautic_ensure_something
|
14
|
+
puts 'Features are activated'
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
instance_methods(feature: 'redmine_mautic.project') do
|
20
|
+
def to_s
|
21
|
+
"I'am cool " + super
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
class_methods do
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
RSpec.describe "Submit mautic form", type: :controller do
|
2
|
+
let(:user) { { firstname: "John", lastname: "Doe", mail: "john@doe.com", language: Setting.default_language } }
|
3
|
+
controller do
|
4
|
+
def create
|
5
|
+
@user = User.new(language: Setting.default_language, mail_notification: Setting.default_notification_option)
|
6
|
+
@user.attributes = invite_params
|
7
|
+
@user.login = @user.mail
|
8
|
+
@user.generate_password = true
|
9
|
+
@user.must_change_passwd = true
|
10
|
+
@user.status = User::STATUS_ACTIVE
|
11
|
+
|
12
|
+
Mautic::FormHelper.submit(url: "https://mautic.org", form: '6', request: request) do |data|
|
13
|
+
data.mail = @user.mail
|
14
|
+
data.firstname = @user.firstname
|
15
|
+
data.lastname = @user.lastname
|
16
|
+
data.ep_language = @user.language
|
17
|
+
end
|
18
|
+
|
19
|
+
render plain: "ok"
|
20
|
+
end
|
21
|
+
|
22
|
+
def invite_params
|
23
|
+
permitted_params = [:firstname, :lastname, :mail, :easy_user_type_id, memberships: [:role_id, { project_ids: [] }]]
|
24
|
+
permitted_params << :admin if User.current.admin?
|
25
|
+
@invite_params ||= params.require(:user).permit(permitted_params)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
it "like onboarding" do
|
30
|
+
stub = stub_request(:post, "https://mautic.org/form/submit").
|
31
|
+
with(body: ({ 'mauticform' => hash_including({ 'mail' => user[:mail],
|
32
|
+
'firstname' => user[:firstname],
|
33
|
+
'lastname' => user[:lastname],
|
34
|
+
'ep_language' => user[:language],
|
35
|
+
'submit' => '1',
|
36
|
+
'formId' => '6' }) }))
|
37
|
+
|
38
|
+
post :create, { user: user }
|
39
|
+
expect(stub).to have_been_requested
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require_relative "../spec_helper"
|
2
|
+
RSpec.describe "/redmine_mautic", type: :request do
|
3
|
+
|
4
|
+
it '#index' do
|
5
|
+
get "/redmine_mautic"
|
6
|
+
expect(response).to be_success
|
7
|
+
end
|
8
|
+
|
9
|
+
it '#new' do
|
10
|
+
get "/redmine_mautic/new"
|
11
|
+
expect(response).to be_success
|
12
|
+
end
|
13
|
+
|
14
|
+
it '#create' do
|
15
|
+
post "/redmine_mautic", connection: { url: 'https://mautic.org' }
|
16
|
+
expect(response).to be_success
|
17
|
+
expect(response.body).to include("connection[secret]")
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
require 'bundler'
|
2
|
+
require 'webmock/rspec'
|
3
|
+
spec = Bundler.load.specs.find{|s| s.name.to_s == 'ryspec' }
|
4
|
+
|
5
|
+
if !spec
|
6
|
+
abort('Gem ryspec was not found. Please add it and run bundle install again.')
|
7
|
+
end
|
8
|
+
|
9
|
+
require File.join(spec.full_gem_path, 'spec/spec_helper')
|
metadata
ADDED
@@ -0,0 +1,116 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: redmine_mautic
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Lukáš Pokorný
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2019-03-11 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rys
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: mautic
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2.0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '2.0'
|
41
|
+
description: https://github.com/luk4s/mautic-rails
|
42
|
+
email:
|
43
|
+
- luk4s.pokorny@gmail.com
|
44
|
+
executables: []
|
45
|
+
extensions: []
|
46
|
+
extra_rdoc_files: []
|
47
|
+
files:
|
48
|
+
- README.md
|
49
|
+
- Rakefile
|
50
|
+
- app/assets/images/redmine_mautic/.keep
|
51
|
+
- app/assets/javascripts/redmine_mautic/.keep
|
52
|
+
- app/assets/stylesheets/redmine_mautic/.keep
|
53
|
+
- app/controllers/redmine_mautic_controller.rb
|
54
|
+
- app/helpers/.keep
|
55
|
+
- app/mailers/.keep
|
56
|
+
- app/models/.keep
|
57
|
+
- app/views/.keep
|
58
|
+
- app/views/issues/redmine_mautic/_view_issues_show_details_bottom.html.erb
|
59
|
+
- app/views/redmine_mautic/_form.html.erb
|
60
|
+
- app/views/redmine_mautic/edit.html.erb
|
61
|
+
- app/views/redmine_mautic/index.html.erb
|
62
|
+
- app/views/redmine_mautic/new.html.erb
|
63
|
+
- config/initializers/01_access_control.rb
|
64
|
+
- config/initializers/02_menu_manager.rb
|
65
|
+
- config/initializers/03_hooks.rb
|
66
|
+
- config/initializers/04_features.rb
|
67
|
+
- config/initializers/mautic.rb
|
68
|
+
- config/locales/en.yml
|
69
|
+
- config/routes.rb
|
70
|
+
- db/migrate/.keeo
|
71
|
+
- gems.rb
|
72
|
+
- lib/redmine_mautic.rb
|
73
|
+
- lib/redmine_mautic/engine.rb
|
74
|
+
- lib/redmine_mautic/version.rb
|
75
|
+
- lib/tasks/redmine_mautic.rake
|
76
|
+
- patches/controllers/issues_controller.rb.example
|
77
|
+
- patches/core_ext/string.rb.example
|
78
|
+
- patches/models/project.rb.example
|
79
|
+
- spec/controllers/submit_form_spec.rb
|
80
|
+
- spec/factories/factory.rb
|
81
|
+
- spec/features/feature_spec.rb
|
82
|
+
- spec/models/model_spec.rb
|
83
|
+
- spec/requests/redmine_mautic_spec.rb
|
84
|
+
- spec/spec_helper.rb
|
85
|
+
- spec/support/support.rb
|
86
|
+
homepage: https://github.com/luk4s
|
87
|
+
licenses:
|
88
|
+
- GPL-2.0-or-later
|
89
|
+
metadata: {}
|
90
|
+
post_install_message:
|
91
|
+
rdoc_options: []
|
92
|
+
require_paths:
|
93
|
+
- lib
|
94
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - ">="
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
requirements: []
|
105
|
+
rubygems_version: 3.0.2
|
106
|
+
signing_key:
|
107
|
+
specification_version: 4
|
108
|
+
summary: Integration mautic rails gem with Redmine
|
109
|
+
test_files:
|
110
|
+
- spec/spec_helper.rb
|
111
|
+
- spec/features/feature_spec.rb
|
112
|
+
- spec/models/model_spec.rb
|
113
|
+
- spec/requests/redmine_mautic_spec.rb
|
114
|
+
- spec/support/support.rb
|
115
|
+
- spec/factories/factory.rb
|
116
|
+
- spec/controllers/submit_form_spec.rb
|