fat_free_crm 0.22.0 → 0.23.0
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.
Potentially problematic release.
This version of fat_free_crm might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/assets/javascripts/application.js.erb +1 -0
- data/app/assets/javascripts/crm.js.coffee +6 -3
- data/app/assets/javascripts/crm_select2.js.coffee +4 -1
- data/app/assets/javascripts/crm_tags.js.coffee +4 -4
- data/app/assets/javascripts/crm_textarea_autocomplete.js.coffee +6 -9
- data/app/assets/javascripts/crm_validations.js.coffee +12 -0
- data/app/assets/stylesheets/bootstrap-custom.scss +3 -3
- data/app/assets/stylesheets/common.scss +9 -0
- data/app/assets/stylesheets/rails.scss +1 -1
- data/app/controllers/admin/fields_controller.rb +16 -13
- data/app/controllers/application_controller.rb +1 -1
- data/app/controllers/emails_controller.rb +1 -1
- data/app/controllers/entities/contacts_controller.rb +1 -1
- data/app/controllers/entities_controller.rb +1 -1
- data/app/controllers/lists_controller.rb +5 -4
- data/app/controllers/users_controller.rb +15 -3
- data/app/helpers/application_helper.rb +5 -5
- data/app/helpers/leads_helper.rb +1 -1
- data/app/helpers/opportunities_helper.rb +5 -3
- data/app/helpers/users_helper.rb +1 -1
- data/app/models/entities/campaign.rb +3 -3
- data/app/models/fields/custom_field_pair.rb +6 -7
- data/app/models/fields/field.rb +1 -3
- data/app/models/list.rb +1 -1
- data/app/models/observers/lead_observer.rb +2 -1
- data/app/models/observers/task_observer.rb +2 -1
- data/app/models/polymorphic/address.rb +2 -1
- data/app/models/polymorphic/comment.rb +3 -4
- data/app/models/polymorphic/task.rb +1 -1
- data/app/models/users/user.rb +7 -1
- data/app/views/accounts/_contact_info.html.haml +1 -1
- data/app/views/accounts/_top_section.html.haml +3 -3
- data/app/views/accounts/show.js.haml +1 -1
- data/app/views/accounts/update.js.haml +1 -0
- data/app/views/admin/custom_fields/_check_boxes_field.html.haml +4 -1
- data/app/views/admin/custom_fields/_date_pair_field.html.haml +1 -1
- data/app/views/campaigns/_top_section.html.haml +2 -2
- data/app/views/campaigns/show.js.haml +1 -1
- data/app/views/campaigns/update.js.haml +1 -0
- data/app/views/contacts/_top_section.html.haml +5 -5
- data/app/views/contacts/show.js.haml +2 -3
- data/app/views/contacts/update.js.haml +1 -0
- data/app/views/devise/sessions/new.html.haml +4 -5
- data/app/views/fields/_group.html.haml +5 -2
- data/app/views/fields/_group_table.html.haml +4 -5
- data/app/views/fields/_group_view.html.haml +4 -1
- data/app/views/fields/_sidebar_show.html.haml +5 -8
- data/app/views/fields/group.js.erb +3 -1
- data/app/views/layouts/application.html.haml +2 -4
- data/app/views/leads/_top_section.html.haml +4 -4
- data/app/views/leads/show.js.haml +1 -1
- data/app/views/leads/update.js.haml +1 -0
- data/app/views/opportunities/_top_section.html.haml +2 -2
- data/app/views/opportunities/show.js.haml +1 -1
- data/app/views/opportunities/update.js.haml +1 -0
- data/app/views/shared/_add_comment.html.haml +1 -1
- data/app/views/shared/_address.html.haml +1 -1
- data/app/views/tasks/_top_section.html.haml +4 -4
- data/config/application.rb +2 -0
- data/config/database.yml +9 -12
- data/config/environments/development.rb +15 -0
- data/config/initializers/action_mailer.rb +1 -1
- data/config/initializers/application_controller_renderer.rb +1 -0
- data/config/initializers/backtrace_silencers.rb +1 -0
- data/config/initializers/content_security_policy.rb +1 -0
- data/config/initializers/custom_field_ransack_translations.rb +2 -2
- data/config/initializers/devise.rb +1 -0
- data/config/initializers/inflections.rb +1 -0
- data/config/initializers/permissions_policy.rb +1 -0
- data/config/routes.rb +1 -3
- data/config/settings.default.yml +2 -1
- data/db/fat_free_crm_development.sqlite3 +0 -0
- data/db/fat_free_crm_test.sqlite3 +0 -0
- data/db/migrate/20230422234321_optionally_create_action_text_tables.action_text.rb +29 -0
- data/db/migrate/20230526211831_create_active_storage_tables.active_storage.rb +3 -3
- data/db/migrate/20230526212613_convert_to_active_storage.rb +11 -14
- data/db/schema.rb +16 -9
- data/db/seeds.rb +1 -0
- data/lib/fat_free_crm/callback.rb +0 -1
- data/lib/fat_free_crm/core_ext/string.rb +1 -1
- data/lib/fat_free_crm/custom_fields.rb +1 -0
- data/lib/fat_free_crm/mail_processor/base.rb +6 -10
- data/lib/fat_free_crm/version.rb +1 -1
- metadata +7 -31
- data/public/avatars/User/2/large_rails.png +0 -0
- data/public/avatars/User/2/medium_rails.png +0 -0
- data/public/avatars/User/2/original_rails.png +0 -0
- data/public/avatars/User/2/small_rails.png +0 -0
- data/public/avatars/User/2/thumb_rails.png +0 -0
- data/public/avatars/User/3/large_rails.png +0 -0
- data/public/avatars/User/3/medium_rails.png +0 -0
- data/public/avatars/User/3/original_rails.png +0 -0
- data/public/avatars/User/3/small_rails.png +0 -0
- data/public/avatars/User/3/thumb_rails.png +0 -0
- data/public/avatars/User/4/large_rails.png +0 -0
- data/public/avatars/User/4/medium_rails.png +0 -0
- data/public/avatars/User/4/original_rails.png +0 -0
- data/public/avatars/User/4/small_rails.png +0 -0
- data/public/avatars/User/4/thumb_rails.png +0 -0
- data/public/avatars/User/6/large_rails.png +0 -0
- data/public/avatars/User/6/medium_rails.png +0 -0
- data/public/avatars/User/6/original_rails.png +0 -0
- data/public/avatars/User/6/small_rails.png +0 -0
- data/public/avatars/User/6/thumb_rails.png +0 -0
- data/public/avatars/User/7/large_rails.png +0 -0
- data/public/avatars/User/7/medium_rails.png +0 -0
- data/public/avatars/User/7/original_rails.png +0 -0
- data/public/avatars/User/7/small_rails.png +0 -0
- data/public/avatars/User/7/thumb_rails.png +0 -0
data/db/schema.rb
CHANGED
@@ -11,9 +11,6 @@
|
|
11
11
|
# It's strongly recommended that you check this file into your version control system.
|
12
12
|
|
13
13
|
ActiveRecord::Schema[7.0].define(version: 2023_05_26_212613) do
|
14
|
-
# These are extensions that must be enabled in order to support this database
|
15
|
-
enable_extension "plpgsql"
|
16
|
-
|
17
14
|
create_table "account_contacts", force: :cascade do |t|
|
18
15
|
t.integer "account_id"
|
19
16
|
t.integer "contact_id"
|
@@ -55,6 +52,16 @@ ActiveRecord::Schema[7.0].define(version: 2023_05_26_212613) do
|
|
55
52
|
t.index ["user_id", "name", "deleted_at"], name: "index_accounts_on_user_id_and_name_and_deleted_at", unique: true
|
56
53
|
end
|
57
54
|
|
55
|
+
create_table "action_text_rich_texts", force: :cascade do |t|
|
56
|
+
t.string "name", null: false
|
57
|
+
t.text "body"
|
58
|
+
t.string "record_type", null: false
|
59
|
+
t.bigint "record_id", null: false
|
60
|
+
t.datetime "created_at", null: false
|
61
|
+
t.datetime "updated_at", null: false
|
62
|
+
t.index ["record_type", "record_id", "name"], name: "index_action_text_rich_texts_uniqueness", unique: true
|
63
|
+
end
|
64
|
+
|
58
65
|
create_table "active_storage_attachments", force: :cascade do |t|
|
59
66
|
t.string "name", null: false
|
60
67
|
t.string "record_type", null: false
|
@@ -247,12 +254,12 @@ ActiveRecord::Schema[7.0].define(version: 2023_05_26_212613) do
|
|
247
254
|
t.text "collection"
|
248
255
|
t.boolean "disabled"
|
249
256
|
t.boolean "required"
|
250
|
-
t.integer "maxlength"
|
257
|
+
t.integer "maxlength", limit: 4
|
251
258
|
t.datetime "created_at", precision: nil
|
252
259
|
t.datetime "updated_at", precision: nil
|
253
260
|
t.integer "pair_id"
|
254
261
|
t.text "settings"
|
255
|
-
t.integer "minlength", default: 0
|
262
|
+
t.integer "minlength", limit: 4, default: 0
|
256
263
|
t.string "pattern"
|
257
264
|
t.string "autofocus"
|
258
265
|
t.string "autocomplete"
|
@@ -417,7 +424,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_05_26_212613) do
|
|
417
424
|
|
418
425
|
create_table "users", force: :cascade do |t|
|
419
426
|
t.string "username", limit: 32, default: "", null: false
|
420
|
-
t.string "email", limit: 254
|
427
|
+
t.string "email", limit: 254
|
421
428
|
t.string "first_name", limit: 32
|
422
429
|
t.string "last_name", limit: 32
|
423
430
|
t.string "title", limit: 64
|
@@ -448,8 +455,8 @@ ActiveRecord::Schema[7.0].define(version: 2023_05_26_212613) do
|
|
448
455
|
t.datetime "remember_created_at", precision: nil
|
449
456
|
t.string "authentication_token"
|
450
457
|
t.string "confirmation_token", limit: 255
|
451
|
-
t.datetime "confirmed_at"
|
452
|
-
t.datetime "confirmation_sent_at"
|
458
|
+
t.datetime "confirmed_at"
|
459
|
+
t.datetime "confirmation_sent_at"
|
453
460
|
t.index ["authentication_token"], name: "index_users_on_authentication_token", unique: true
|
454
461
|
t.index ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true
|
455
462
|
t.index ["email"], name: "index_users_on_email"
|
@@ -461,7 +468,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_05_26_212613) do
|
|
461
468
|
create_table "versions", force: :cascade do |t|
|
462
469
|
t.string "item_type", null: false
|
463
470
|
t.integer "item_id", null: false
|
464
|
-
t.string "event", limit: 512
|
471
|
+
t.string "event", limit: 512
|
465
472
|
t.string "whodunnit"
|
466
473
|
t.text "object"
|
467
474
|
t.datetime "created_at", precision: nil
|
data/db/seeds.rb
CHANGED
@@ -108,7 +108,6 @@ module FatFreeCRM
|
|
108
108
|
#--------------------------------------------------------------------------
|
109
109
|
module Helper
|
110
110
|
def hook(method, caller, context = {}, &block)
|
111
|
-
|
112
111
|
# In a view template context, hooks are able to replace, append or prepend content.
|
113
112
|
if caller.is_a?(ActionView::Base)
|
114
113
|
hooks = FatFreeCRM::Callback.view_hook(method, caller, context)
|
@@ -36,7 +36,7 @@ class String
|
|
36
36
|
# A query with 4 words will generate 6 permutations
|
37
37
|
def name_permutations
|
38
38
|
parts = split(" ")
|
39
|
-
Array.new(
|
39
|
+
Array.new(parts.size - 1) do |i|
|
40
40
|
# ["A", "B", "C", "D"] => [["A B C", "D"], ["A B", "C D"], ["A", "B C D"]]
|
41
41
|
[parts[(0..i)].join(" "), parts[(i + 1)..-1].join(" ")]
|
42
42
|
end.each_with_object([]) do |perm, arr|
|
@@ -8,6 +8,7 @@
|
|
8
8
|
|
9
9
|
#
|
10
10
|
# Register CustomFields when Field class is loaded
|
11
|
+
|
11
12
|
ActiveSupport.on_load(:fat_free_crm_field) do # self == Field
|
12
13
|
register(as: 'date_pair', klass: 'CustomFieldDatePair', type: 'date')
|
13
14
|
register(as: 'datetime_pair', klass: 'CustomFieldDatetimePair', type: 'timestamp')
|
@@ -104,10 +104,8 @@ module FatFreeCRM
|
|
104
104
|
discard(uid)
|
105
105
|
end
|
106
106
|
rescue Exception => e
|
107
|
-
|
108
|
-
|
109
|
-
warn e.backtrace
|
110
|
-
end
|
107
|
+
warn e
|
108
|
+
warn e.backtrace
|
111
109
|
log "error processing email: #{e.inspect}", email
|
112
110
|
discard(uid)
|
113
111
|
end
|
@@ -181,12 +179,10 @@ module FatFreeCRM
|
|
181
179
|
# Centralized logging.
|
182
180
|
#--------------------------------------------------------------------------------------
|
183
181
|
def log(message, email = nil)
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
puts "[#{Time.now.rfc822}] #{klass}: From: #{email.from}, Subject: #{email.subject} (#{email.message_id})" if email
|
189
|
-
end
|
182
|
+
klass = self.class.to_s.split("::").last
|
183
|
+
klass << " [Dry Run]" if @dry_run
|
184
|
+
Rails.logger.info("[#{Time.now.rfc822}] #{klass}: #{message}")
|
185
|
+
Rails.logger.info("[#{Time.now.rfc822}] #{klass}: From: #{email.from}, Subject: #{email.subject} (#{email.message_id})") if email
|
190
186
|
end
|
191
187
|
|
192
188
|
# Returns the plain-text version of an email, or strips html tags
|
data/lib/fat_free_crm/version.rb
CHANGED
metadata
CHANGED
@@ -1,16 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fat_free_crm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.23.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Dvorkin
|
8
8
|
- Stephen Kenworthy
|
9
9
|
- Daniel O'Connor
|
10
|
-
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: rails
|
@@ -553,6 +552,7 @@ files:
|
|
553
552
|
- app/assets/javascripts/crm_sortable.js.coffee
|
554
553
|
- app/assets/javascripts/crm_tags.js.coffee
|
555
554
|
- app/assets/javascripts/crm_textarea_autocomplete.js.coffee
|
555
|
+
- app/assets/javascripts/crm_validations.js.coffee
|
556
556
|
- app/assets/javascripts/datepicker.js.coffee
|
557
557
|
- app/assets/javascripts/format_buttons.js.coffee
|
558
558
|
- app/assets/javascripts/lists.js.coffee
|
@@ -1089,6 +1089,8 @@ files:
|
|
1089
1089
|
- db/demo/settings.yml
|
1090
1090
|
- db/demo/tasks.yml
|
1091
1091
|
- db/demo/users.yml
|
1092
|
+
- db/fat_free_crm_development.sqlite3
|
1093
|
+
- db/fat_free_crm_test.sqlite3
|
1092
1094
|
- db/migrate/20100928030598_create_sessions.rb
|
1093
1095
|
- db/migrate/20100928030599_create_users.rb
|
1094
1096
|
- db/migrate/20100928030600_create_openid_tables.rb
|
@@ -1161,6 +1163,7 @@ files:
|
|
1161
1163
|
- db/migrate/20180107082701_authlogic_to_devise.rb
|
1162
1164
|
- db/migrate/20200806004152_add_pattern_to_fields.rb
|
1163
1165
|
- db/migrate/20200806004459_add_html5_to_fields.rb
|
1166
|
+
- db/migrate/20230422234321_optionally_create_action_text_tables.action_text.rb
|
1164
1167
|
- db/migrate/20230526211831_create_active_storage_tables.active_storage.rb
|
1165
1168
|
- db/migrate/20230526212613_convert_to_active_storage.rb
|
1166
1169
|
- db/schema.rb
|
@@ -1217,31 +1220,6 @@ files:
|
|
1217
1220
|
- public/404.html
|
1218
1221
|
- public/422.html
|
1219
1222
|
- public/500.html
|
1220
|
-
- public/avatars/User/2/large_rails.png
|
1221
|
-
- public/avatars/User/2/medium_rails.png
|
1222
|
-
- public/avatars/User/2/original_rails.png
|
1223
|
-
- public/avatars/User/2/small_rails.png
|
1224
|
-
- public/avatars/User/2/thumb_rails.png
|
1225
|
-
- public/avatars/User/3/large_rails.png
|
1226
|
-
- public/avatars/User/3/medium_rails.png
|
1227
|
-
- public/avatars/User/3/original_rails.png
|
1228
|
-
- public/avatars/User/3/small_rails.png
|
1229
|
-
- public/avatars/User/3/thumb_rails.png
|
1230
|
-
- public/avatars/User/4/large_rails.png
|
1231
|
-
- public/avatars/User/4/medium_rails.png
|
1232
|
-
- public/avatars/User/4/original_rails.png
|
1233
|
-
- public/avatars/User/4/small_rails.png
|
1234
|
-
- public/avatars/User/4/thumb_rails.png
|
1235
|
-
- public/avatars/User/6/large_rails.png
|
1236
|
-
- public/avatars/User/6/medium_rails.png
|
1237
|
-
- public/avatars/User/6/original_rails.png
|
1238
|
-
- public/avatars/User/6/small_rails.png
|
1239
|
-
- public/avatars/User/6/thumb_rails.png
|
1240
|
-
- public/avatars/User/7/large_rails.png
|
1241
|
-
- public/avatars/User/7/medium_rails.png
|
1242
|
-
- public/avatars/User/7/original_rails.png
|
1243
|
-
- public/avatars/User/7/small_rails.png
|
1244
|
-
- public/avatars/User/7/thumb_rails.png
|
1245
1223
|
- public/favicon.ico
|
1246
1224
|
- public/robots.txt
|
1247
1225
|
- vendor/assets/images/calendar_date_select/calendar.gif
|
@@ -1338,7 +1316,6 @@ homepage: http://fatfreecrm.com
|
|
1338
1316
|
licenses:
|
1339
1317
|
- MIT
|
1340
1318
|
metadata: {}
|
1341
|
-
post_install_message:
|
1342
1319
|
rdoc_options: []
|
1343
1320
|
require_paths:
|
1344
1321
|
- lib
|
@@ -1353,8 +1330,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1353
1330
|
- !ruby/object:Gem::Version
|
1354
1331
|
version: '0'
|
1355
1332
|
requirements: []
|
1356
|
-
rubygems_version: 3.
|
1357
|
-
signing_key:
|
1333
|
+
rubygems_version: 3.6.9
|
1358
1334
|
specification_version: 4
|
1359
1335
|
summary: Fat Free CRM
|
1360
1336
|
test_files: []
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|