udongo 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f653f73b0217efa872c2c95ba0783abc619759c7
4
- data.tar.gz: 11a751bfb31b7bb8ad63e61deff0d68d9ad981c9
3
+ metadata.gz: a741be7e19b1fe104859632571d9df99fbd9e307
4
+ data.tar.gz: 475674d26ab25c95e1c548bdfe851142670a533c
5
5
  SHA512:
6
- metadata.gz: 6fd818e7d16aed0a1577018f55f3fa5986480ee41498e7c8e752be3a3f3b4feff0cece1575c8968ec7f70e902658628b61aae95bf0b202b2b9934c3761152591
7
- data.tar.gz: a7651642f1ad02aa54039ad91326a1d1913b8dedd50a95548f16f639a2a18c28064af4917f9fe1e08fe222d511cbc398ea44438c5e9352d8e0c6e7ca0ddf909c
6
+ metadata.gz: ddeb74872a714284c0a5a63fd2d8de7b36ba01fab7bb36d628a0a23b73a4bd5775b823febd31ed14b7064f1c9ee90fbd437e8eeac9d0b5d6917723561feef8db
7
+ data.tar.gz: ca5cc722453d9f9c1458ea823ca881cb866cf41e13615c938ca03239ed111c26dfbf3881698c62a0e6d11b50b9c4368c134b48de2fd7c336f87690f97a28f26c
@@ -14,5 +14,5 @@
14
14
  */
15
15
 
16
16
  @import 'bootstrap';
17
- @import 'backend/bootstrap-datepicker.min';
17
+ @import 'backend/bootstrap-datepicker.css';
18
18
  @import 'udongo';
@@ -41,9 +41,6 @@ class Backend::PagesController < BackendController
41
41
  render json: { moved: @model.set_position(params[:position], params[:parent_id]) }
42
42
  end
43
43
 
44
- def edit_translation
45
- end
46
-
47
44
  def destroy
48
45
  render json: { trashed: @model.destroy }
49
46
  end
@@ -9,21 +9,28 @@ class Backend::SnippetsController < BackendController
9
9
  end
10
10
 
11
11
  def new
12
- @model = ::Snippet.new
12
+ @form = Backend::SnippetForm.new
13
+ # @model = ::Snippet.new
13
14
  end
14
15
 
15
16
  def create
16
- @model = ::Snippet.new allowed_params
17
+ @form = Backend::SnippetForm.new
17
18
 
18
- if @model.save
19
- redirect_to edit_translation_backend_snippet_path(@model, translation_locale: default_locale), notice: translate_notice(:added, :snippet)
19
+ if @form.save params[:snippet]
20
+ redirect_to edit_translation_backend_snippet_path(@form.snippet, translation_locale: default_locale), notice: translate_notice(:added, :snippet)
20
21
  else
21
22
  render :new
22
23
  end
23
24
  end
24
25
 
26
+ def edit
27
+ @form = Backend::SnippetForm.new(@model)
28
+ end
29
+
25
30
  def update
26
- if @model.update_attributes(allowed_params)
31
+ @form = Backend::SnippetForm.new(@model)
32
+
33
+ if @form.save params[:snippet]
27
34
  redirect_to edit_backend_snippet_path(@model), notice: translate_notice(:edited, :snippet)
28
35
  else
29
36
  render :edit
@@ -42,8 +49,4 @@ class Backend::SnippetsController < BackendController
42
49
  translation: @model.translation(params[:translation_locale])
43
50
  )
44
51
  end
45
-
46
- def allowed_params
47
- params.require('snippet').permit(:identifier, :description)
48
- end
49
52
  end
@@ -0,0 +1,54 @@
1
+ class Backend::SnippetForm
2
+ include ActiveModel::Model
3
+ include Virtus.model
4
+
5
+ attr_reader :snippet
6
+
7
+ attribute :identifier, String
8
+ attribute :description, String
9
+
10
+ validates :identifier, :description, presence: true
11
+ validate :unique_identifier
12
+
13
+ delegate :id, to: :snippet
14
+
15
+ def initialize(snippet = nil)
16
+ @snippet = snippet || ::Snippet.new
17
+ attributes.keys.each { |k| send("#{k}=", @snippet.send(k)) } if snippet
18
+ end
19
+
20
+ def self.model_name
21
+ ::Snippet.model_name
22
+ end
23
+
24
+ def persisted?
25
+ !@snippet.new_record?
26
+ end
27
+
28
+ def save(params)
29
+ attributes.keys.each { |k| send("#{k}=", params[k]) }
30
+
31
+ if valid?
32
+ save_snippet
33
+ true
34
+ else
35
+ false
36
+ end
37
+ end
38
+
39
+ private
40
+
41
+ def unique_identifier
42
+ qry = ::Snippet.unscoped
43
+ qry = qry.where.not(identifier: @snippet.identifier) if persisted?
44
+
45
+ if qry.exists?(identifier: identifier)
46
+ errors.add :identifier, I18n.t('errors.messages.taken')
47
+ end
48
+ end
49
+
50
+ def save_snippet
51
+ attributes.each { |k, v| @snippet.send("#{k}=", v) }
52
+ @snippet.save!
53
+ end
54
+ end
@@ -1,9 +1,7 @@
1
1
  class Comment < ActiveRecord::Base
2
2
  include Concerns::Parentable
3
3
  include Concerns::Locale
4
-
5
4
  include Concerns::Spammable
6
- spammable author_email: :email, content: :message
7
5
 
8
6
  STATUSES = %w(pending_moderation published)
9
7
 
@@ -5,20 +5,12 @@ module Concerns
5
5
  extend ActiveSupport::Concern
6
6
 
7
7
  included do
8
- include Rakismet::Model
9
-
10
8
  scope :spam, ->{ where(marked_as_spam: true) }
11
9
  scope :not_spam, -> { where('marked_as_spam = 0 OR marked_as_spam IS NULL') }
12
10
 
13
11
  after_initialize :spam_defaults
14
12
  end
15
13
 
16
- module ClassMethods
17
- def spammable(*args)
18
- rakismet_attrs *args
19
- end
20
- end
21
-
22
14
  def mark_as_spam!
23
15
  update_attribute :marked_as_spam, true
24
16
  end
@@ -1,4 +1,4 @@
1
- <%= simple_form_for [:backend, @model] do |f| %>
1
+ <%= simple_form_for [:backend, @form] do |f| %>
2
2
  <div class="row">
3
3
  <div class="col-md-6">
4
4
  <div class="card">
@@ -1,3 +1,3 @@
1
1
  module Udongo
2
- VERSION = '1.0.0'
2
+ VERSION = '1.0.1'
3
3
  end
data/lib/udongo.rb CHANGED
@@ -15,7 +15,6 @@ require 'simple_form'
15
15
  require 'acts_as_list'
16
16
  require 'carrierwave'
17
17
  require 'reform'
18
- require 'rakismet'
19
18
  require 'draper'
20
19
  require 'ransack'
21
20
  require 'ckeditor'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: udongo
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Davy Hellemans
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-06-05 00:00:00.000000000 Z
12
+ date: 2016-06-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -25,20 +25,6 @@ dependencies:
25
25
  - - '='
26
26
  - !ruby/object:Gem::Version
27
27
  version: 4.2.6
28
- - !ruby/object:Gem::Dependency
29
- name: mysql2
30
- requirement: !ruby/object:Gem::Requirement
31
- requirements:
32
- - - "~>"
33
- - !ruby/object:Gem::Version
34
- version: 0.3.20
35
- type: :runtime
36
- prerelease: false
37
- version_requirements: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - "~>"
40
- - !ruby/object:Gem::Version
41
- version: 0.3.20
42
28
  - !ruby/object:Gem::Dependency
43
29
  name: jquery-rails
44
30
  requirement: !ruby/object:Gem::Requirement
@@ -239,46 +225,6 @@ dependencies:
239
225
  - - ">="
240
226
  - !ruby/object:Gem::Version
241
227
  version: 0.10.0
242
- - !ruby/object:Gem::Dependency
243
- name: rakismet
244
- requirement: !ruby/object:Gem::Requirement
245
- requirements:
246
- - - "~>"
247
- - !ruby/object:Gem::Version
248
- version: '1.5'
249
- - - ">="
250
- - !ruby/object:Gem::Version
251
- version: 1.5.1
252
- type: :runtime
253
- prerelease: false
254
- version_requirements: !ruby/object:Gem::Requirement
255
- requirements:
256
- - - "~>"
257
- - !ruby/object:Gem::Version
258
- version: '1.5'
259
- - - ">="
260
- - !ruby/object:Gem::Version
261
- version: 1.5.1
262
- - !ruby/object:Gem::Dependency
263
- name: marked-rails
264
- requirement: !ruby/object:Gem::Requirement
265
- requirements:
266
- - - "~>"
267
- - !ruby/object:Gem::Version
268
- version: '0.3'
269
- - - ">="
270
- - !ruby/object:Gem::Version
271
- version: 0.3.2
272
- type: :runtime
273
- prerelease: false
274
- version_requirements: !ruby/object:Gem::Requirement
275
- requirements:
276
- - - "~>"
277
- - !ruby/object:Gem::Version
278
- version: '0.3'
279
- - - ">="
280
- - !ruby/object:Gem::Version
281
- version: 0.3.2
282
228
  - !ruby/object:Gem::Dependency
283
229
  name: reform
284
230
  requirement: !ruby/object:Gem::Requirement
@@ -439,6 +385,20 @@ dependencies:
439
385
  - - ">="
440
386
  - !ruby/object:Gem::Version
441
387
  version: 1.0.5
388
+ - !ruby/object:Gem::Dependency
389
+ name: mysql2
390
+ requirement: !ruby/object:Gem::Requirement
391
+ requirements:
392
+ - - "~>"
393
+ - !ruby/object:Gem::Version
394
+ version: 0.3.20
395
+ type: :development
396
+ prerelease: false
397
+ version_requirements: !ruby/object:Gem::Requirement
398
+ requirements:
399
+ - - "~>"
400
+ - !ruby/object:Gem::Version
401
+ version: 0.3.20
442
402
  - !ruby/object:Gem::Dependency
443
403
  name: sqlite3
444
404
  requirement: !ruby/object:Gem::Requirement
@@ -550,6 +510,7 @@ files:
550
510
  - app/forms/backend/email_template_translation_form.rb
551
511
  - app/forms/backend/navigation_item_translation_form.rb
552
512
  - app/forms/backend/page_translation_form.rb
513
+ - app/forms/backend/snippet_form.rb
553
514
  - app/forms/backend/snippet_translation_form.rb
554
515
  - app/helpers/backend/dropdown_helper.rb
555
516
  - app/helpers/backend/pagination_helper.rb