jinda 0.2.0 → 0.2.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 +4 -4
- data/README.md +1 -1
- data/lib/generators/jinda/templates/app/assets/javascripts/application.js +0 -1
- data/lib/generators/jinda/templates/app/controllers/articles_controller.rb +29 -22
- data/lib/generators/jinda/templates/app/controllers/jinda_controller.rb +11 -5
- data/lib/generators/jinda/templates/app/controllers/sessions_controller.rb +1 -1
- data/lib/generators/jinda/templates/app/jinda/index.mm +1 -1
- data/lib/generators/jinda/templates/app/models/article.rb +1 -1
- data/lib/generators/jinda/templates/app/models/jinda/doc.rb +0 -0
- data/lib/generators/jinda/templates/app/models/jinda/xmain.rb +1 -1
- data/lib/jinda/helpers.rb +2 -1
- data/lib/jinda/version.rb +1 -1
- data/lib/tasks/jinda.rake +1 -1
- metadata +2 -3
- data/lib/generators/jinda/templates/app/models/user.rb +0 -63
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a1d1eebb536ba8765d34f26028668acb9f824553c869b50a88d1f073763c4ed6
|
4
|
+
data.tar.gz: 216f6fd05bd095dd168d13019c9931cbe9d541a2893b13550820c282709037ae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eea8d30604497f1e4f85ff351a4dc4a210700c21a450d9dc59dff0fd327829a62e4b78f78648601cf164364f20d4ba6619a6cc3a5e2d95c637c0c7c54a900be7
|
7
|
+
data.tar.gz: 2a4d7a166ed604490eb8a9a1fc0ae0c13027ee3dca3fc3dee350f92a72427f963f0dfc2a33c0357ec734f16ddaee9bbdd21ccc1a5e425c115bf99f75afe7d5db
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
class ArticlesController < ApplicationController
|
2
2
|
before_action :load_article, only: [:show, :destroy]
|
3
|
-
before_action :load_comments, only: :show
|
3
|
+
before_action :load_comments, only: [:show]
|
4
4
|
|
5
5
|
def index
|
6
6
|
@articles = Article.desc(:created_at).page(params[:page]).per(10)
|
@@ -15,11 +15,9 @@ class ArticlesController < ApplicationController
|
|
15
15
|
def edit
|
16
16
|
@article = Article.find(params[:id])
|
17
17
|
@page_title = 'Member Login'
|
18
|
-
|
19
18
|
end
|
20
19
|
|
21
20
|
def create
|
22
|
-
|
23
21
|
@article = Article.new(
|
24
22
|
title: $xvars["form_article"]["title"],
|
25
23
|
text: $xvars["form_article"]["text"],
|
@@ -27,15 +25,19 @@ class ArticlesController < ApplicationController
|
|
27
25
|
body: $xvars["form_article"]["body"],
|
28
26
|
user_id: $xvars["user_id"])
|
29
27
|
@article.save!
|
30
|
-
# if @article.save!
|
31
|
-
# format.html { redirect_to @article, notice: 'Sample was successfully created.' }
|
32
|
-
# format.json { render :show, status: :created, location: @article }
|
33
|
-
# else
|
34
|
-
# format.html { render :new }
|
35
|
-
# format.json { render json: @article.errors, status: :unprocessable_entity }
|
36
|
-
# end
|
37
|
-
redirect_to @article
|
38
28
|
|
29
|
+
# comment out to use jinda_controller end_action
|
30
|
+
# redirect_to @article
|
31
|
+
# if @article.save!
|
32
|
+
# # format.html { redirect_to @article, notice: 'Sample was successfully created.' }
|
33
|
+
# format.html { redirect_to @article }
|
34
|
+
# format.json { render :show, status: :created, location: @article }
|
35
|
+
# end
|
36
|
+
# else
|
37
|
+
# format.html { render :new }
|
38
|
+
# format.json { render json: @article.errors, status: :unprocessable_entity }
|
39
|
+
# end
|
40
|
+
|
39
41
|
end
|
40
42
|
|
41
43
|
def my
|
@@ -47,19 +49,23 @@ class ArticlesController < ApplicationController
|
|
47
49
|
# $xvars["select_article"] and $xvars["edit_article"]
|
48
50
|
# These are variables.
|
49
51
|
# They contain everything that we get their forms select_article and edit_article
|
50
|
-
|
52
|
+
|
53
|
+
article_id = $xvars["select_article"] ? $xvars["select_article"]["title"] : $xvars["p"]["article_id"]
|
51
54
|
@article = Article.find(article_id)
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
redirect_to @article
|
58
|
-
|
59
|
-
|
55
|
+
@article.update(title: $xvars["edit_article"]["title"],
|
56
|
+
text: $xvars["edit_article"]["text"],
|
57
|
+
keywords: $xvars["edit_article"]["keywords"],
|
58
|
+
body: $xvars["edit_article"]["body"]
|
59
|
+
)
|
60
|
+
# redirect_to @article
|
61
|
+
# comment out to use jinda_controller end_action
|
60
62
|
end
|
61
63
|
|
62
64
|
def destroy
|
65
|
+
# duplicated from jinda_controller
|
66
|
+
# Expected to use in jinda)controller
|
67
|
+
#
|
68
|
+
current_ma_user = Jinda::User.where(:auth_token => cookies[:auth_token]).first if cookies[:auth_token]
|
63
69
|
if Rails.env.test? #Temp solution until fix test of current_ma_user
|
64
70
|
current_ma_user = $xvars["current_ma_user"]
|
65
71
|
#current_ma_user = @article.user
|
@@ -67,13 +73,14 @@ class ArticlesController < ApplicationController
|
|
67
73
|
if current_ma_user.role.upcase.split(',').include?("A") || current_ma_user == @article.user
|
68
74
|
@article.destroy
|
69
75
|
end
|
70
|
-
redirect_to :action=>'index'
|
76
|
+
#redirect_to :action=>'index'
|
77
|
+
redirect_to :action=>'my'
|
71
78
|
end
|
72
79
|
|
73
80
|
private
|
74
81
|
|
75
82
|
def load_article
|
76
|
-
|
83
|
+
@article = Article.find(params.require(:article_id))
|
77
84
|
end
|
78
85
|
|
79
86
|
def load_comments
|
@@ -247,19 +247,25 @@ class JindaController < ApplicationController
|
|
247
247
|
def end_form
|
248
248
|
init_vars(params[:xmain_id])
|
249
249
|
eval "@xvars[@runseq.code] = {} unless @xvars[@runseq.code]"
|
250
|
+
# Search for uploaded file name if exist
|
250
251
|
params.each { |k,v|
|
251
252
|
if params[k].respond_to? :original_filename
|
252
253
|
get_image(k, params[k])
|
253
|
-
|
254
|
-
|
254
|
+
# check if params of array in form eg: edit_article
|
255
|
+
elsif params[k].is_a?(ActionController::Parameters)
|
255
256
|
params[k].each { |k1,v1|
|
256
|
-
|
257
|
+
# eval "@xvars[@runseq.code][k1] = params.require(k1).permit(k1)"
|
258
|
+
eval "@xvars[@runseq.code][k1] = v1"
|
259
|
+
next unless v1.respond_to?(:original_filename)
|
257
260
|
get_image1(k, k1, params[k][k1])
|
258
261
|
}
|
259
|
-
|
260
262
|
else
|
261
263
|
# bug in to_unsalfe_h rails 5.1.6 https://github.com/getsentry/raven-ruby/issues/799
|
262
|
-
|
264
|
+
# Solution:
|
265
|
+
# https://stackoverflow.com/questions/34949505/rails-5-unable-to-retrieve-hash-values-from-parameter
|
266
|
+
# v = v.to_unsafe_h unless v.class == String
|
267
|
+
# v = params.require[k] unless v.class == String
|
268
|
+
v = v.to_s unless v.class == String
|
263
269
|
eval "@xvars[@runseq.code][k] = v"
|
264
270
|
end
|
265
271
|
}
|
@@ -9,7 +9,7 @@ class SessionsController < ApplicationController
|
|
9
9
|
# see app/views/sessions/new.html.erb for sample
|
10
10
|
def create
|
11
11
|
auth = request.env["omniauth.auth"]
|
12
|
-
user = User.from_omniauth(auth)
|
12
|
+
user = Jinda::User.from_omniauth(auth)
|
13
13
|
session[:user_id] = user.id
|
14
14
|
if params.permit[:remember_me]
|
15
15
|
cookies.permanent[:auth_token] = user.auth_token
|
@@ -153,7 +153,7 @@
|
|
153
153
|
<node CREATED="1493418879485" ID="ID_1995497233" MODIFIED="1493718770637" TEXT="article">
|
154
154
|
<node CREATED="1493418891110" ID="ID_364756011" MODIFIED="1493418905253" TEXT="title"/>
|
155
155
|
<node CREATED="1493418906868" ID="ID_1676483995" MODIFIED="1493418911919" TEXT="text"/>
|
156
|
-
<node CREATED="1493487131376" ID="ID_1334057464" MODIFIED="
|
156
|
+
<node CREATED="1493487131376" ID="ID_1334057464" MODIFIED="1538239863609" TEXT="belongs_to :user, class_name => "Jinda::User"">
|
157
157
|
<icon BUILTIN="edit"/>
|
158
158
|
</node>
|
159
159
|
<node CREATED="1493705838166" ID="ID_408271104" MODIFIED="1493705877062" TEXT="has_many :comments">
|
@@ -5,7 +5,7 @@ class Article
|
|
5
5
|
include Mongoid::Timestamps
|
6
6
|
field :title, :type => String
|
7
7
|
field :text, :type => String
|
8
|
-
belongs_to :user
|
8
|
+
belongs_to :user, :class_name => "Jinda::User"
|
9
9
|
has_many :comments
|
10
10
|
validates :title, :text, :user_id, presence: true
|
11
11
|
field :body, :type => String
|
File without changes
|
@@ -10,7 +10,7 @@ class Jinda::Xmain
|
|
10
10
|
field :name, :type => String
|
11
11
|
field :ip, :type => String
|
12
12
|
field :status, :type => String
|
13
|
-
belongs_to :user
|
13
|
+
belongs_to :user, :class_name => "Jinda::User"
|
14
14
|
field :xvars, :type => Hash
|
15
15
|
field :current_runseq, :type => String
|
16
16
|
# Jinda end
|
data/lib/jinda/helpers.rb
CHANGED
@@ -233,7 +233,8 @@ module Jinda
|
|
233
233
|
# return nil
|
234
234
|
# end
|
235
235
|
#@user ||= User.find_by_auth_token!(cookies[:auth_token]) if cookies[:auth_token]
|
236
|
-
@user ||= User.where(:auth_token => cookies[:auth_token]).first if cookies[:auth_token]
|
236
|
+
@user ||= Jinda::User.where(:auth_token => cookies[:auth_token]).first if cookies[:auth_token]
|
237
|
+
return @user
|
237
238
|
end
|
238
239
|
|
239
240
|
def ui_action?(s)
|
data/lib/jinda/version.rb
CHANGED
data/lib/tasks/jinda.rake
CHANGED
@@ -19,7 +19,7 @@ namespace :jinda do
|
|
19
19
|
unless Identity.where(code:"admin").exists?
|
20
20
|
identity= Identity.create :code => "admin", :email => "admin@test.com", :password => "secret",
|
21
21
|
:password_confirmation => "secret", :image => "https://user-images.githubusercontent.com/3953832/42472827-50ed8cbc-8388-11e8-8982-fa523c25288f.png"
|
22
|
-
User.create :provider => "identity", :uid => identity.id.to_s, :code => identity.code,
|
22
|
+
Jinda::User.create :provider => "identity", :uid => identity.id.to_s, :code => identity.code,
|
23
23
|
:email => identity.email, :role => "M,A,D", :auth_token => "71JxMH5fxi23zinBoq1uKA", :image => identity.image
|
24
24
|
end
|
25
25
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jinda
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Prateep Kul
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-09-
|
12
|
+
date: 2018-09-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -341,7 +341,6 @@ files:
|
|
341
341
|
- lib/generators/jinda/templates/app/models/jinda/xmain.rb
|
342
342
|
- lib/generators/jinda/templates/app/models/param.rb
|
343
343
|
- lib/generators/jinda/templates/app/models/person.rb
|
344
|
-
- lib/generators/jinda/templates/app/models/user.rb
|
345
344
|
- lib/generators/jinda/templates/app/views/adminbsbs/content.haml
|
346
345
|
- lib/generators/jinda/templates/app/views/admins/edit_role/edit_role.html.erb
|
347
346
|
- lib/generators/jinda/templates/app/views/admins/edit_role/select_user.html.erb
|
@@ -1,63 +0,0 @@
|
|
1
|
-
class User
|
2
|
-
include Mongoid::Document
|
3
|
-
before_create {generate_token(:auth_token)}
|
4
|
-
field :provider, :type => String
|
5
|
-
field :uid, :type => String
|
6
|
-
field :code, :type => String
|
7
|
-
field :email, :type => String
|
8
|
-
field :role, :type => String
|
9
|
-
field :user, :type => String
|
10
|
-
field :auth_token, :type => String
|
11
|
-
field :password_reset_token, :type => String
|
12
|
-
field :password_reset_sent_at,:type => DateTime
|
13
|
-
field :image, :type => String
|
14
|
-
|
15
|
-
|
16
|
-
belongs_to :identity, :polymorphic => true, :optional => true
|
17
|
-
has_many :xmains, :class_name => "Jinda::Xmain"
|
18
|
-
|
19
|
-
## Add to create forgot password
|
20
|
-
def generate_token(column)
|
21
|
-
begin
|
22
|
-
self[column] = SecureRandom.urlsafe_base64
|
23
|
-
end
|
24
|
-
#end while User.exists?(column => self[column])
|
25
|
-
end
|
26
|
-
|
27
|
-
def has_role(role1)
|
28
|
-
return role.upcase.split(',').include?(role1.upcase)
|
29
|
-
end
|
30
|
-
|
31
|
-
def self.from_omniauth(auth)
|
32
|
-
# Rails now no longer support slice
|
33
|
-
# where(auth.slice(:uid, :provider, :email)).first_or_create do |user|
|
34
|
-
where(uid: auth.uid, provider: auth.provider, email: auth.info.email).first_or_create do |user|
|
35
|
-
case auth.provider
|
36
|
-
when 'identity'
|
37
|
-
identity = Identity.find auth.uid
|
38
|
-
user.code = identity.code
|
39
|
-
user.email = identity.email
|
40
|
-
else
|
41
|
-
user.email = auth.info.email
|
42
|
-
user.uid = auth.uid
|
43
|
-
user.provider = auth.provider
|
44
|
-
user.code = auth.info.name
|
45
|
-
user.role = "M"
|
46
|
-
user.image = auth.info.image
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
def ma_secured?
|
52
|
-
role.upcase.split(',').include?(ma_secured_ROLE)
|
53
|
-
end
|
54
|
-
|
55
|
-
def send_password_reset
|
56
|
-
generate_token(:password_reset_token)
|
57
|
-
self.password_reset_sent_at = Time.zone.now
|
58
|
-
save!
|
59
|
-
UserMailer.password_reset(self).deliver
|
60
|
-
end
|
61
|
-
|
62
|
-
|
63
|
-
end
|