e9_crm 0.1.26 → 0.1.27

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.
Files changed (48) hide show
  1. data/app/controllers/e9_crm/base_controller.rb +1 -1
  2. data/app/controllers/e9_crm/campaigns_controller.rb +1 -1
  3. data/app/controllers/e9_crm/leads_controller.rb +0 -1
  4. data/app/controllers/e9_crm/page_views_controller.rb +57 -8
  5. data/app/controllers/e9_crm/resources_controller.rb +1 -0
  6. data/app/controllers/e9_crm/visits_controller.rb +60 -0
  7. data/app/helpers/e9_crm/contacts_helper.rb +2 -9
  8. data/app/helpers/e9_crm/page_views_helper.rb +45 -0
  9. data/app/models/campaign.rb +23 -23
  10. data/app/models/contact.rb +17 -4
  11. data/app/models/page_view.rb +3 -20
  12. data/app/models/tracking_cookie.rb +16 -0
  13. data/app/views/e9_crm/affiliate_campaigns/_form_inner.html.haml +2 -1
  14. data/app/views/e9_crm/campaigns/_reports_table.html.haml +3 -3
  15. data/app/views/e9_crm/campaigns/_table.html.haml +1 -1
  16. data/app/views/e9_crm/campaigns/reports.js.erb +1 -1
  17. data/app/views/e9_crm/contacts/_sidebar_email_form.html.haml +7 -5
  18. data/app/views/e9_crm/contacts/index.html.haml +1 -1
  19. data/app/views/e9_crm/contacts/show.html.haml +1 -0
  20. data/app/views/e9_crm/dated_costs/index.html.haml +1 -3
  21. data/app/views/e9_crm/deals/_leads_table.html.haml +3 -0
  22. data/app/views/e9_crm/deals/_table.html.haml +3 -0
  23. data/app/views/e9_crm/deals/leads.js.erb +1 -1
  24. data/app/views/e9_crm/deals/show.html.haml +14 -5
  25. data/app/views/e9_crm/page_views/_header.html.haml +15 -0
  26. data/app/views/e9_crm/page_views/_table.html.haml +6 -6
  27. data/app/views/e9_crm/resources/index.html.haml +0 -3
  28. data/app/views/e9_crm/resources/index.js.erb +1 -1
  29. data/app/views/e9_crm/sales_campaigns/_form_inner.html.haml +2 -1
  30. data/app/views/e9_crm/visits/_header.html.haml +3 -0
  31. data/app/views/e9_crm/visits/_table.html.haml +27 -0
  32. data/config/locales/e9.en.yml +19 -12
  33. data/config/routes.rb +8 -16
  34. data/e9_crm.gemspec +0 -8
  35. data/lib/e9_crm/controller.rb +27 -12
  36. data/lib/e9_crm/model.rb +6 -5
  37. data/lib/e9_crm/rack/email_campaign_auto_completer.rb +29 -0
  38. data/lib/e9_crm/rails_extensions.rb +0 -33
  39. data/lib/e9_crm/tracking_controller.rb +3 -5
  40. data/lib/e9_crm/version.rb +1 -1
  41. data/lib/e9_crm.rb +7 -5
  42. metadata +48 -165
  43. data/app/controllers/e9_crm/email_templates.controller.rb +0 -46
  44. data/app/models/email_template.rb +0 -27
  45. data/app/views/e9_crm/email_templates/_form_inner.html.haml +0 -12
  46. data/app/views/e9_crm/email_templates/_header.html.haml +0 -7
  47. data/app/views/e9_crm/email_templates/select.html.haml +0 -5
  48. data/lib/e9_crm/email.rb +0 -18
metadata CHANGED
@@ -1,167 +1,54 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: e9_crm
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.27
4
5
  prerelease:
5
- version: 0.1.26
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Travis Cox
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-09-29 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: rails
17
- prerelease: false
18
- requirement: &id001 !ruby/object:Gem::Requirement
19
- none: false
20
- requirements:
21
- - - ~>
22
- - !ruby/object:Gem::Version
23
- version: 3.0.0
24
- type: :runtime
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
27
- name: inherited_resources
28
- prerelease: false
29
- requirement: &id002 !ruby/object:Gem::Requirement
30
- none: false
31
- requirements:
32
- - - ~>
33
- - !ruby/object:Gem::Version
34
- version: 1.1.2
35
- type: :runtime
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
38
- name: has_scope
39
- prerelease: false
40
- requirement: &id003 !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- version: "0"
46
- type: :runtime
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
12
+ date: 2011-10-07 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
49
15
  name: money
50
- prerelease: false
51
- requirement: &id004 !ruby/object:Gem::Requirement
16
+ requirement: &21696240 !ruby/object:Gem::Requirement
52
17
  none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
57
22
  type: :runtime
58
- version_requirements: *id004
59
- - !ruby/object:Gem::Dependency
60
- name: e9_rails
61
23
  prerelease: false
62
- requirement: &id005 !ruby/object:Gem::Requirement
63
- none: false
64
- requirements:
65
- - - ">="
66
- - !ruby/object:Gem::Version
67
- version: "0"
68
- type: :runtime
69
- version_requirements: *id005
70
- - !ruby/object:Gem::Dependency
71
- name: e9_tags
72
- prerelease: false
73
- requirement: &id006 !ruby/object:Gem::Requirement
74
- none: false
75
- requirements:
76
- - - ">="
77
- - !ruby/object:Gem::Version
78
- version: "0"
79
- type: :runtime
80
- version_requirements: *id006
81
- - !ruby/object:Gem::Dependency
82
- name: e9_attributes
83
- prerelease: false
84
- requirement: &id007 !ruby/object:Gem::Requirement
85
- none: false
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: "0"
90
- type: :runtime
91
- version_requirements: *id007
92
- - !ruby/object:Gem::Dependency
93
- name: will_paginate
94
- prerelease: false
95
- requirement: &id008 !ruby/object:Gem::Requirement
96
- none: false
97
- requirements:
98
- - - ">="
99
- - !ruby/object:Gem::Version
100
- version: "0"
101
- type: :runtime
102
- version_requirements: *id008
103
- - !ruby/object:Gem::Dependency
24
+ version_requirements: *21696240
25
+ - !ruby/object:Gem::Dependency
104
26
  name: kramdown
105
- prerelease: false
106
- requirement: &id009 !ruby/object:Gem::Requirement
27
+ requirement: &21695620 !ruby/object:Gem::Requirement
107
28
  none: false
108
- requirements:
29
+ requirements:
109
30
  - - ~>
110
- - !ruby/object:Gem::Version
111
- version: "0.13"
31
+ - !ruby/object:Gem::Version
32
+ version: '0.13'
112
33
  type: :runtime
113
- version_requirements: *id009
114
- - !ruby/object:Gem::Dependency
115
- name: state_machine
116
34
  prerelease: false
117
- requirement: &id010 !ruby/object:Gem::Requirement
118
- none: false
119
- requirements:
120
- - - ~>
121
- - !ruby/object:Gem::Version
122
- version: "1.0"
123
- type: :runtime
124
- version_requirements: *id010
125
- description: |
126
- *NOTE his plugin requires the private e9_base CMS gem and WILL NOT WORK without it.*
127
-
128
- CRM Plugin for the e9 CMS
129
- =========================
130
-
131
- To use, add as a gem and install by running:
132
-
133
- rails g e9_crm:install
134
-
135
- Then modify the installed initializer as per your app, including
136
- the controller module in your desired controllers, with the final
137
- result looking something like this:
138
-
139
- require 'e9_crm'
140
-
141
- User.send :include, E9Crm::Backend::ActiveRecord
142
-
143
- Rails.configuration.after_initialize do
144
- [
145
- MyFirstTrackedController,
146
- MySecondTrackedController
147
- ].each {|c| c.send(:include, E9Crm::TrackingController) }
148
- end
149
-
150
- NOTE: A few assumptions are made:
151
- ---------------------------------
152
-
153
- 1. Your app has a "User" model
154
- 2. Your app has a controller method #current_user to return the
155
- currently logged in user.
156
-
35
+ version_requirements: *21695620
36
+ description: ! "*NOTE his plugin requires the private e9_base CMS gem and WILL NOT
37
+ WORK without it.*\n\nCRM Plugin for the e9 CMS\n=========================\n\nTo
38
+ use, add as a gem and install by running:\n\n rails g e9_crm:install\n\nThen
39
+ modify the installed initializer as per your app, including\nthe controller module
40
+ in your desired controllers, with the final\nresult looking something like this:\n\n
41
+ \ require 'e9_crm'\n\n User.send :include, E9Crm::Backend::ActiveRecord\n\n
42
+ \ Rails.configuration.after_initialize do\n [\n MyFirstTrackedController,\n
43
+ \ MySecondTrackedController\n ].each {|c| c.send(:include, E9Crm::TrackingController)
44
+ }\n end\n\nNOTE: A few assumptions are made:\n---------------------------------\n\n1.
45
+ \ Your app has a \"User\" model\n2. Your app has a controller method #current_user
46
+ to return the\n currently logged in user.\n"
157
47
  email: travis@e9digital.com
158
48
  executables: []
159
-
160
49
  extensions: []
161
-
162
50
  extra_rdoc_files: []
163
-
164
- files:
51
+ files:
165
52
  - .gitignore
166
53
  - Gemfile
167
54
  - README.md
@@ -179,13 +66,13 @@ files:
179
66
  - app/controllers/e9_crm/dated_costs_controller.rb
180
67
  - app/controllers/e9_crm/deals_controller.rb
181
68
  - app/controllers/e9_crm/email_campaigns_controller.rb
182
- - app/controllers/e9_crm/email_templates.controller.rb
183
69
  - app/controllers/e9_crm/leads_controller.rb
184
70
  - app/controllers/e9_crm/offers_controller.rb
185
71
  - app/controllers/e9_crm/page_views_controller.rb
186
72
  - app/controllers/e9_crm/resources_controller.rb
187
73
  - app/controllers/e9_crm/sales_campaigns_controller.rb
188
74
  - app/controllers/e9_crm/users_controller.rb
75
+ - app/controllers/e9_crm/visits_controller.rb
189
76
  - app/helpers/e9_crm/base_helper.rb
190
77
  - app/helpers/e9_crm/campaign_groups_helper.rb
191
78
  - app/helpers/e9_crm/campaigns_helper.rb
@@ -208,7 +95,6 @@ files:
208
95
  - app/models/dated_cost.rb
209
96
  - app/models/deal.rb
210
97
  - app/models/email_campaign.rb
211
- - app/models/email_template.rb
212
98
  - app/models/no_campaign.rb
213
99
  - app/models/offer.rb
214
100
  - app/models/page_view.rb
@@ -273,9 +159,6 @@ files:
273
159
  - app/views/e9_crm/deals/offer_form.html.haml
274
160
  - app/views/e9_crm/deals/show.html.haml
275
161
  - app/views/e9_crm/email_campaigns/_form_inner.html.haml
276
- - app/views/e9_crm/email_templates/_form_inner.html.haml
277
- - app/views/e9_crm/email_templates/_header.html.haml
278
- - app/views/e9_crm/email_templates/select.html.haml
279
162
  - app/views/e9_crm/file_download_offers/_form.html.haml
280
163
  - app/views/e9_crm/file_download_offers/_form_inner.html.haml
281
164
  - app/views/e9_crm/leads/_form.html.haml
@@ -286,6 +169,7 @@ files:
286
169
  - app/views/e9_crm/offers/_offer.html.haml
287
170
  - app/views/e9_crm/offers/_public_offer.html.haml
288
171
  - app/views/e9_crm/offers/show.html.haml
172
+ - app/views/e9_crm/page_views/_header.html.haml
289
173
  - app/views/e9_crm/page_views/_table.html.haml
290
174
  - app/views/e9_crm/resources/_form.html.haml
291
175
  - app/views/e9_crm/resources/_form_inner.html.haml
@@ -300,6 +184,8 @@ files:
300
184
  - app/views/e9_crm/resources/show.html.haml
301
185
  - app/views/e9_crm/resources/update.js.erb
302
186
  - app/views/e9_crm/sales_campaigns/_form_inner.html.haml
187
+ - app/views/e9_crm/visits/_header.html.haml
188
+ - app/views/e9_crm/visits/_table.html.haml
303
189
  - app/views/record_attributes/_user.html.haml
304
190
  - config/initializers/inflections.rb
305
191
  - config/locales/e9.en.yml
@@ -309,11 +195,11 @@ files:
309
195
  - lib/e9_crm.rb
310
196
  - lib/e9_crm/controller.rb
311
197
  - lib/e9_crm/e9_extensions.rb
312
- - lib/e9_crm/email.rb
313
198
  - lib/e9_crm/model.rb
314
199
  - lib/e9_crm/rack/company_auto_completer.rb
315
200
  - lib/e9_crm/rack/contact_auto_completer.rb
316
201
  - lib/e9_crm/rack/email_availability_checker.rb
202
+ - lib/e9_crm/rack/email_campaign_auto_completer.rb
317
203
  - lib/e9_crm/rails_extensions.rb
318
204
  - lib/e9_crm/system_emails_controller.rb
319
205
  - lib/e9_crm/tracking_controller.rb
@@ -326,31 +212,28 @@ files:
326
212
  - test/functional/home_controller_test.rb
327
213
  homepage: http://www.e9digital.com
328
214
  licenses: []
329
-
330
215
  post_install_message:
331
216
  rdoc_options: []
332
-
333
- require_paths:
217
+ require_paths:
334
218
  - lib
335
- required_ruby_version: !ruby/object:Gem::Requirement
219
+ required_ruby_version: !ruby/object:Gem::Requirement
336
220
  none: false
337
- requirements:
338
- - - ">="
339
- - !ruby/object:Gem::Version
340
- version: "0"
341
- required_rubygems_version: !ruby/object:Gem::Requirement
221
+ requirements:
222
+ - - ! '>='
223
+ - !ruby/object:Gem::Version
224
+ version: '0'
225
+ required_rubygems_version: !ruby/object:Gem::Requirement
342
226
  none: false
343
- requirements:
344
- - - ">="
345
- - !ruby/object:Gem::Version
346
- version: "0"
227
+ requirements:
228
+ - - ! '>='
229
+ - !ruby/object:Gem::Version
230
+ version: '0'
347
231
  requirements: []
348
-
349
232
  rubyforge_project: e9_crm
350
233
  rubygems_version: 1.8.10
351
234
  signing_key:
352
235
  specification_version: 3
353
236
  summary: CRM engine plugin for the e9 CMS
354
- test_files:
237
+ test_files:
355
238
  - test/functional/e9_crm/campaign_types_controller_test.rb
356
239
  - test/functional/home_controller_test.rb
@@ -1,46 +0,0 @@
1
- class E9Crm::EmailTemplatesController < E9Crm::ResourcesController
2
- defaults
3
- include E9Rails::Controllers::Orderable
4
- self.should_paginate_index = false
5
-
6
- filter_access_to :select, :require => :read, :context => :admin
7
-
8
- before_filter :handle_unacceptable_mimetype, :only => :show
9
-
10
- respond_to :json, :only => :show
11
- respond_to :html, :except => :show
12
-
13
- def select
14
- index!
15
- end
16
-
17
- def show
18
- unless params[:contact_id] =~ /\d+/ && @contact = Contact.find_by_id(params[:contact_id])
19
- head :status => 404
20
- else
21
- object = resource
22
- object.contact = @contact
23
- object.recipient = params[:user_id] =~ /\d+/ && @contact.users.find_by_id(params[:user_id]) || @contact.primary_user
24
-
25
- render :json => object
26
- end
27
- end
28
-
29
- protected
30
-
31
- def collection
32
- @email_templates ||= end_of_association_chain.order(:name).all
33
- end
34
-
35
- def default_ordered_on
36
- 'name'
37
- end
38
-
39
- def default_ordered_dir
40
- 'ASC'
41
- end
42
-
43
- def determine_template
44
- request.xhr? ? false : super
45
- end
46
- end
@@ -1,27 +0,0 @@
1
- # An "Email" that isn't intended to be sent, but rather as a prototype
2
- # for other Emails to be generated from.
3
- #
4
- class EmailTemplate < Email
5
- # TODO the email class hierarchy needs a major refactoring, it's backwards and convoluted
6
- before_save :generate_html_body_from_text_body
7
-
8
- validates :from_email, :email => { :allow_blank => true }
9
-
10
- def as_json(options = {})
11
- {}.tap do |hash|
12
- hash[:to] = recipient.email
13
- hash[:reply_to] = reply_email
14
- hash[:from] = from_email
15
- hash[:subject] = render(:subject)
16
- hash[:html_body] = render(:html_body)
17
- hash[:text_body] = render(:text_body)
18
- end
19
- end
20
-
21
- protected
22
-
23
- def ensure_body_field_presence
24
- self.html_body = self.html_body.presence || ''
25
- self.text_body = self.text_body.presence || ''
26
- end
27
- end
@@ -1,12 +0,0 @@
1
- .field
2
- = f.label :name, nil, :class => :req
3
- = f.text_field :name
4
- .field
5
- = f.label :from_email
6
- = f.text_field :from_email
7
- .field
8
- = f.label :subject
9
- = f.text_field :subject
10
- .field
11
- = help_label(f, :text_body)
12
- = f.text_area :text_body
@@ -1,7 +0,0 @@
1
- .toolbar
2
- .toolbar-left
3
- .toolbar-middle
4
- .toolbar-right
5
- %fieldset
6
- %legend= t(:form_legend_manage)
7
- = link_to_new_resource(EmailTemplate)
@@ -1,5 +0,0 @@
1
- = form_tag email_templates_path, :class => "email-template-sel", :method => :get do
2
- = hidden_field_tag "contact_id", params[:contact_id]
3
- = hidden_field_tag "user_id", params[:user_id]
4
- = select_tag "id", options_for_select(collection.map {|e| [e.name, e.id] })
5
- = submit_tag e9_t(:select_submit), :name => nil
data/lib/e9_crm/email.rb DELETED
@@ -1,18 +0,0 @@
1
- module E9Crm
2
- module Email
3
- extend ActiveSupport::Concern
4
-
5
- included do
6
- attr_accessor :contact
7
-
8
- def locals_with_contact
9
- default_locals.merge({
10
- :contact => @contact || recipient.try(:contact)
11
- })
12
- end
13
-
14
- alias :default_locals :this_locals
15
- alias :this_locals :locals_with_contact
16
- end
17
- end
18
- end