eric_weixin 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.rdoc +6 -1
- data/app/assets/javascripts/eric_weixin/application.js +1 -0
- data/app/assets/javascripts/eric_weixin/cms/base.js +6 -5
- data/app/controllers/eric_weixin/application_controller.rb +98 -0
- data/app/controllers/eric_weixin/cms/base_controller.rb +1 -1
- data/app/controllers/eric_weixin/cms/weixin/media_articles_controller.rb +73 -0
- data/app/controllers/eric_weixin/cms/weixin/media_news_controller.rb +175 -0
- data/app/controllers/eric_weixin/cms/weixin/media_resources_controller.rb +68 -0
- data/app/controllers/eric_weixin/wz/pays_controller.rb +15 -0
- data/app/controllers/eric_weixin/wz/weixin_controller.rb +2 -2
- data/app/helpers/eric_weixin/application_helper.rb +6 -0
- data/app/helpers/eric_weixin/cms/weixin/public_accounts_helper.rb +3 -3
- data/app/models/eric_weixin/access_token.rb +1 -0
- data/app/models/eric_weixin/media_article.rb +53 -0
- data/app/models/eric_weixin/media_article_news.rb +6 -0
- data/app/models/eric_weixin/media_news.rb +216 -0
- data/app/models/eric_weixin/media_resource.rb +172 -0
- data/app/models/eric_weixin/public_account.rb +9 -0
- data/app/views/eric_weixin/cms/weixin/media_articles/_media_article.html.erb +131 -0
- data/app/views/eric_weixin/cms/weixin/media_articles/_select_pic.html.erb +78 -0
- data/app/views/eric_weixin/cms/weixin/media_articles/edit.html.erb +4 -0
- data/app/views/eric_weixin/cms/weixin/media_articles/index.html.erb +31 -0
- data/app/views/eric_weixin/cms/weixin/media_articles/new.html.erb +15 -0
- data/app/views/eric_weixin/cms/weixin/media_news/_select_article.html.erb +90 -0
- data/app/views/eric_weixin/cms/weixin/media_news/_select_user.html.erb +8 -0
- data/app/views/eric_weixin/cms/weixin/media_news/_will_send_article.html.erb +53 -0
- data/app/views/eric_weixin/cms/weixin/media_news/new.html.erb +284 -0
- data/app/views/eric_weixin/cms/weixin/media_resources/_media_resource.html.erb +62 -0
- data/app/views/eric_weixin/cms/weixin/media_resources/edit.html.erb +20 -0
- data/app/views/eric_weixin/cms/weixin/media_resources/index.html.erb +49 -0
- data/app/views/eric_weixin/cms/weixin/media_resources/new.html.erb +4 -0
- data/app/views/eric_weixin/cms/weixin/url_encodes/_new.html.erb +6 -6
- data/app/views/eric_weixin/wz/pays/pay_fail.html.erb +2 -0
- data/app/views/eric_weixin/wz/pays/pay_ok.html.erb +2 -0
- data/app/views/eric_weixin/wz/pays/prepay.html.erb +49 -0
- data/app/views/layouts/eric_weixin/cms/base.html.erb +1 -1
- data/app/views/layouts/eric_weixin/wz/pays.html.erb +11 -0
- data/config/initializers/assets.rb +1 -1
- data/config/initializers/inflections.rb +19 -0
- data/config/routes.rb +20 -6
- data/config/tinymce.yml +11 -0
- data/db/migrate/20150813080541_add_mch_id_to_weixin_public_accounts.rb +5 -0
- data/db/migrate/20150817105643_alert_weixin_reply_message_rules_s_reply_message_length.rb +5 -0
- data/db/migrate/20150817143407_add_mch_key_to_weixin_public_account.rb +5 -0
- data/db/migrate/20150818090435_create_weixin_media_resources.rb +13 -0
- data/db/migrate/20150818094553_create_weixin_media_articles.rb +17 -0
- data/db/migrate/20150818095654_create_weixin_media_news.rb +18 -0
- data/db/migrate/20150818100348_create_weixin_media_articles_news.rb +11 -0
- data/db/migrate/20150904045253_add_host_name_to_public_account.rb +5 -0
- data/lib/eric_weixin.rb +2 -0
- data/lib/eric_weixin/modules/ip.rb +2 -0
- data/lib/eric_weixin/modules/pay.rb +31 -0
- data/lib/eric_weixin/version.rb +1 -1
- metadata +38 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2f6d9f69457b61be06879a23c862aaf030b12f8d
|
4
|
+
data.tar.gz: cbe07f22927fce38bc6d5fef9e9bf0202206d928
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 91c9d6965d3414cb46467164e89bde9affc068c75d2cc4597e3b152e551e98b6897076ec2d34ec88efa80d3303be4f78194bfb673ccb9b46b3082078e149049f
|
7
|
+
data.tar.gz: bbfb01d2e6cced5b28168e27ada9ee03439ced65463bfcfba86ccf774df888c08167bc515fc4e374560ffa69b67c992e96d87b314fbd534bf47b0006f58b1487
|
data/README.rdoc
CHANGED
@@ -21,4 +21,9 @@
|
|
21
21
|
|
22
22
|
rake eric_weixin:install:migrations
|
23
23
|
===管理平台的链接
|
24
|
-
*
|
24
|
+
* 二维码: /eric_weixin/cms/weixin/two_dimension_codes
|
25
|
+
* 关键字回复: /eric_weixin/cms/weixin/reply_message_rules
|
26
|
+
* 公众账号管理: /eric_weixin/cms/weixin/public_accounts
|
27
|
+
* 图文管理: /eric_weixin/cms/weixin/news_datas
|
28
|
+
* 图文素材管理: /eric_weixin/cms/weixin/article_datas
|
29
|
+
* 链接管理: /eric_weixin/cms/weixin/url_encodes
|
@@ -11,12 +11,13 @@
|
|
11
11
|
// about supported directives.
|
12
12
|
//= require jquery.js
|
13
13
|
//= require jquery_ujs
|
14
|
-
|
14
|
+
//= require jquery-ui
|
15
15
|
//= require foundation
|
16
16
|
// require tinymce
|
17
17
|
//= require_tree .
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
19
|
+
|
20
|
+
$(function(){
|
21
|
+
//$(document).foundation();
|
22
|
+
$(document).foundation('reveal', {animation: false});
|
23
|
+
});
|
@@ -1,5 +1,103 @@
|
|
1
1
|
module EricWeixin
|
2
2
|
class ApplicationController < ActionController::Base
|
3
|
+
protect_from_forgery with: :exception
|
4
|
+
require 'pp'
|
5
|
+
# helper :all # include all helpers, all the time
|
6
|
+
helper_method :current_user, :get_session_content, :get_notice_str, :get_notice_hash, :get_session_content
|
3
7
|
|
8
|
+
#处理控制器中的异常信息。
|
9
|
+
def dispose_exception e, error_messages={:unknow_error=>nil, :act=>nil}
|
10
|
+
case e
|
11
|
+
when BusinessException
|
12
|
+
set_notice e.to_s
|
13
|
+
return
|
14
|
+
when ActiveRecord::RecordInvalid #对于模型中的字段校验,则返回一个hash,分别是字段所对应的错误信息。
|
15
|
+
errors = {}
|
16
|
+
e.record.errors.each do |k, v|
|
17
|
+
k = k.to_s
|
18
|
+
errors[k] = v
|
19
|
+
end
|
20
|
+
set_notice errors
|
21
|
+
errors.to_logger
|
22
|
+
'.............hash'.to_logger
|
23
|
+
return
|
24
|
+
when ActiveRecord::RecordNotFound
|
25
|
+
set_notice '记录未被找到'
|
26
|
+
e.to_s.to_logger
|
27
|
+
$@.to_logger
|
28
|
+
return
|
29
|
+
else
|
30
|
+
e.to_s.to_logger
|
31
|
+
$@.to_logger
|
32
|
+
ExceptionNotifier.notify_exception(e)
|
33
|
+
raise e
|
34
|
+
set_notice error_messages[:unknow_error]||'发生未知错误'
|
35
|
+
return
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def set_notice str
|
40
|
+
session[:notice] = str
|
41
|
+
end
|
42
|
+
|
43
|
+
def get_notice
|
44
|
+
str = session[:notice]
|
45
|
+
session[:notice] = nil
|
46
|
+
str
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
def get_notice_str is_all=true
|
51
|
+
if session[:notice].class == String
|
52
|
+
str = session[:notice]
|
53
|
+
session[:notice] = nil
|
54
|
+
str
|
55
|
+
end
|
56
|
+
if is_all
|
57
|
+
return str if not str.blank?
|
58
|
+
h = get_notice_hash
|
59
|
+
if h.values.length>0
|
60
|
+
return h.values[0]
|
61
|
+
end
|
62
|
+
else
|
63
|
+
return str
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def get_notice_hash
|
68
|
+
if session[:notice].class == Hash
|
69
|
+
str = session[:notice]
|
70
|
+
session[:notice] = nil
|
71
|
+
str
|
72
|
+
else
|
73
|
+
Hash.new('')
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
def set_session_content
|
80
|
+
s = SessionContent.new(value: params.symbolize_keys.delete_if { |key, value| [:utf8, :authenticity_token].include? key }.to_s)
|
81
|
+
s.save!
|
82
|
+
s.id
|
83
|
+
end
|
84
|
+
|
85
|
+
def get_session_content id
|
86
|
+
return {} if id.blank?
|
87
|
+
begin
|
88
|
+
s = SessionContent.where(id: id, is_valid: true).first
|
89
|
+
return {} if s.blank?
|
90
|
+
s.update_attribute :is_valid, false
|
91
|
+
value = eval(s.value)
|
92
|
+
value.deep_symbolize_keys
|
93
|
+
rescue Exception => e
|
94
|
+
{}
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
def get_ip
|
99
|
+
ip = request.env["HTTP_X_FORWARDED_FOR"]||"127.0.0.1"
|
100
|
+
ip = begin ip.split(',')[0] rescue "127.0.0.1" end
|
101
|
+
end
|
4
102
|
end
|
5
103
|
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
class EricWeixin::Cms::Weixin::MediaArticlesController < EricWeixin::Cms::BaseController
|
2
|
+
|
3
|
+
|
4
|
+
def index
|
5
|
+
@media_articles = ::EricWeixin::MediaArticle.all.order(:id)
|
6
|
+
@media_articles = @media_articles.where("title like ?", "%#{params[:title]}%") unless params[:title].blank?
|
7
|
+
@media_articles = @media_articles.paginate(per_page: params[:per_page]||10, page: params[:page]||1)
|
8
|
+
end
|
9
|
+
|
10
|
+
def new
|
11
|
+
@media_article = ::EricWeixin::MediaArticle.new
|
12
|
+
@current_page = 1
|
13
|
+
@pics = available_pics
|
14
|
+
@total_page = (@pics.count/perpage) +1
|
15
|
+
@pics = @pics.paginate(per_page: perpage, page: 1)
|
16
|
+
end
|
17
|
+
|
18
|
+
def select_pic
|
19
|
+
@pics = available_pics
|
20
|
+
@total_page = (@pics.count/perpage) +1
|
21
|
+
@pics = @pics.paginate(per_page: perpage, page: params[:target_page].to_i)
|
22
|
+
@current_page = params[:target_page].to_i
|
23
|
+
render partial: 'select_pic'
|
24
|
+
end
|
25
|
+
|
26
|
+
def create
|
27
|
+
begin
|
28
|
+
EricWeixin::MediaArticle.create_media_article media_article_params
|
29
|
+
flash[:success] = '微信文章创建成功,再来一篇吧!'
|
30
|
+
redirect_to action: :new
|
31
|
+
rescue Exception=> e
|
32
|
+
dispose_exception e
|
33
|
+
flash[:alert] = get_notice_str
|
34
|
+
redirect_to action: :new, session_content_id: set_session_content
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def edit
|
39
|
+
@media_article = ::EricWeixin::MediaArticle.find_by_id(params[:id])
|
40
|
+
@current_page = 1
|
41
|
+
@pics = available_pics
|
42
|
+
@total_page = (@pics.count/perpage) +1
|
43
|
+
end
|
44
|
+
|
45
|
+
def update
|
46
|
+
begin
|
47
|
+
media_article = EricWeixin::MediaArticle.find_by_id(params[:id])
|
48
|
+
media_article.update_media_article media_article_params
|
49
|
+
flash[:success] = '微信文章更新成功!'
|
50
|
+
redirect_to action: :index
|
51
|
+
rescue Exception=>e
|
52
|
+
dispose_exception e
|
53
|
+
flash[:alert] = get_notice_str
|
54
|
+
redirect_to "/eric_weixin/cms/weixin/media_articles/#{params[:id]}/edit?session_content_id=#{set_session_content}"
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
private
|
59
|
+
|
60
|
+
def media_article_params
|
61
|
+
params.require(:article).permit(:tag, :thumb_media_id, :author, :title,
|
62
|
+
:digest, :show_cover_pic, :is_first_article,
|
63
|
+
:content, :content_source_url, :public_account_id)
|
64
|
+
end
|
65
|
+
def perpage
|
66
|
+
18
|
67
|
+
end
|
68
|
+
|
69
|
+
def available_pics
|
70
|
+
::EricWeixin::MediaResource.where(category_name: 'thumbnail').order(:id)
|
71
|
+
end
|
72
|
+
|
73
|
+
end
|
@@ -0,0 +1,175 @@
|
|
1
|
+
class EricWeixin::Cms::Weixin::MediaNewsController < EricWeixin::Cms::BaseController
|
2
|
+
def index
|
3
|
+
|
4
|
+
end
|
5
|
+
|
6
|
+
def new
|
7
|
+
|
8
|
+
end
|
9
|
+
|
10
|
+
def query_media_articles
|
11
|
+
@media_articles = ::EricWeixin::MediaArticle.common_query params.permit(:tag, :start_date, :end_date, :public_account_id)
|
12
|
+
@total_page = (@media_articles.count/4) + 1
|
13
|
+
page = params[:page] || 1
|
14
|
+
@media_articles = @media_articles.paginate(per_page: 4, page: page)
|
15
|
+
@current_page = page.to_i
|
16
|
+
render partial: 'select_article'
|
17
|
+
end
|
18
|
+
|
19
|
+
def query_weixin_users
|
20
|
+
begin
|
21
|
+
BusinessException.raise '请指定微信公众号。' if params[:public_account_id].blank?
|
22
|
+
options = {}
|
23
|
+
options[:weixin_public_account_id] = params[:public_account_id]
|
24
|
+
options[:nickname] = params[:nickname]
|
25
|
+
@weixin_users = ::EricWeixin::WeixinUser.where(weixin_public_account_id: params[:public_account_id])
|
26
|
+
@weixin_users = @weixin_users.where("nickname like ?", "%#{CGI::escape(params[:nickname])}%") unless params[:nickname].blank?
|
27
|
+
render partial: 'select_user'
|
28
|
+
rescue Exception=>e
|
29
|
+
dispose_exception e
|
30
|
+
render text: "查询失败:#{get_notice_str}"
|
31
|
+
return
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def will_send_articles
|
36
|
+
|
37
|
+
articles = []
|
38
|
+
ids_msg = []
|
39
|
+
|
40
|
+
unless params[:existed_article_ids].blank?
|
41
|
+
e_ids = params[:existed_article_ids].split(',')
|
42
|
+
e_ids.each do |id|
|
43
|
+
ma = ::EricWeixin::MediaArticle.find_by_id(id)
|
44
|
+
articles << ma
|
45
|
+
ids_msg << ma.id
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
if params[:new_article_id].blank?
|
50
|
+
# 处理调整顺序
|
51
|
+
unless params[:up_article_id].blank?
|
52
|
+
index = ids_msg.index(params[:up_article_id].to_i)
|
53
|
+
if index==0
|
54
|
+
render text: 'top'
|
55
|
+
return
|
56
|
+
else
|
57
|
+
tmp_article = articles[index]
|
58
|
+
articles[index] = articles[index-1]
|
59
|
+
articles[index-1] = tmp_article
|
60
|
+
tmp_id = ids_msg[index]
|
61
|
+
ids_msg[index] = ids_msg[index-1]
|
62
|
+
ids_msg[index-1] = tmp_id
|
63
|
+
end
|
64
|
+
else
|
65
|
+
unless params[:down_article_id].blank?
|
66
|
+
index = ids_msg.index(params[:down_article_id].to_i)
|
67
|
+
if index==ids_msg.size-1
|
68
|
+
render text: 'bottom'
|
69
|
+
return
|
70
|
+
else
|
71
|
+
tmp_article = articles[index]
|
72
|
+
articles[index] = articles[index+1]
|
73
|
+
articles[index+1] = tmp_article
|
74
|
+
tmp_id = ids_msg[index]
|
75
|
+
ids_msg[index] = ids_msg[index+1]
|
76
|
+
ids_msg[index+1] = tmp_id
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
else
|
81
|
+
# 处理新增文章
|
82
|
+
if ids_msg.include? params[:new_article_id].to_i
|
83
|
+
# 文章已经存在
|
84
|
+
render text: 'existed'
|
85
|
+
return
|
86
|
+
else
|
87
|
+
nma = ::EricWeixin::MediaArticle.find_by_id(params[:new_article_id])
|
88
|
+
articles << nma
|
89
|
+
ids_msg << nma.id
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
@will_send_articles = articles
|
94
|
+
@will_send_article_msg = ids_msg.join(",")
|
95
|
+
render partial: 'will_send_article'
|
96
|
+
|
97
|
+
end
|
98
|
+
|
99
|
+
def save_news
|
100
|
+
# will_send_article_msg: will_send_article_msg,
|
101
|
+
# user_group_name: user_group_name,
|
102
|
+
# send_at_fixed_time: send_at_fixed_time,
|
103
|
+
# send_fixed_date: send_fixed_date,
|
104
|
+
# send_fixed_time: send_fixed_time,
|
105
|
+
# send_save_to_history: send_save_to_history
|
106
|
+
# public_account_id
|
107
|
+
begin
|
108
|
+
if params[:media_news_id].blank?
|
109
|
+
media_news = ::EricWeixin::MediaNews.save_news params.permit(:will_send_article_msg,:user_group_name,
|
110
|
+
:send_at_fixed_time,:send_fixed_date,
|
111
|
+
:send_fixed_time,:send_save_to_history,:public_account_id)
|
112
|
+
render text: "#{media_news.id}"
|
113
|
+
return
|
114
|
+
else
|
115
|
+
media_news = ::EricWeixin::MediaNews.find_by_id(params[:media_news_id])
|
116
|
+
media_news.update_news params.permit(:will_send_article_msg,:user_group_name,
|
117
|
+
:send_at_fixed_time,:send_fixed_date,
|
118
|
+
:send_fixed_time,:send_save_to_history,:public_account_id)
|
119
|
+
render text: "#{media_news.id}"
|
120
|
+
end
|
121
|
+
rescue Exception=>e
|
122
|
+
dispose_exception e
|
123
|
+
render text: "保存失败: #{get_notice_str}"
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
def preview
|
128
|
+
begin
|
129
|
+
if params[:media_news_id].blank?
|
130
|
+
media_news = ::EricWeixin::MediaNews.save_news params.permit(:will_send_article_msg,:user_group_name,
|
131
|
+
:send_at_fixed_time,:send_fixed_date,
|
132
|
+
:send_fixed_time,:send_save_to_history,:public_account_id)
|
133
|
+
media_news.preview params.permit(:preview_openid)[:preview_openid]
|
134
|
+
render text: "#{media_news.id}"
|
135
|
+
return
|
136
|
+
else
|
137
|
+
media_news = ::EricWeixin::MediaNews.find_by_id(params.permit(:media_news_id)[:media_news_id])
|
138
|
+
media_news.update_news params.permit(:will_send_article_msg,:user_group_name,
|
139
|
+
:send_at_fixed_time,:send_fixed_date,
|
140
|
+
:send_fixed_time,:send_save_to_history,:public_account_id)
|
141
|
+
media_news.preview params.permit(:preview_openid)[:preview_openid]
|
142
|
+
render text: "#{media_news.id}"
|
143
|
+
end
|
144
|
+
rescue Exception=>e
|
145
|
+
dispose_exception e
|
146
|
+
render text: "保存失败||预览失败:#{get_notice_str}"
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
def send_news_now
|
151
|
+
begin
|
152
|
+
if params[:media_news_id].blank?
|
153
|
+
media_news = ::EricWeixin::MediaNews.save_news params.permit(:will_send_article_msg,:user_group_name,
|
154
|
+
:send_at_fixed_time,:send_fixed_date,
|
155
|
+
:send_fixed_time,:send_save_to_history,:public_account_id)
|
156
|
+
media_news.send_to_openids
|
157
|
+
render text: "#{media_news.id}"
|
158
|
+
return
|
159
|
+
else
|
160
|
+
media_news = ::EricWeixin::MediaNews.find_by_id(params[:media_news_id])
|
161
|
+
media_news.update_news params.permit(:will_send_article_msg,:user_group_name,
|
162
|
+
:send_at_fixed_time,:send_fixed_date,
|
163
|
+
:send_fixed_time,:send_save_to_history,:public_account_id)
|
164
|
+
media_news.send_to_openids
|
165
|
+
render text: "#{media_news.id}"
|
166
|
+
end
|
167
|
+
rescue Exception=>e
|
168
|
+
dispose_exception e
|
169
|
+
render text: "保存失败||立即发送失败:#{get_notice_str}"
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
class EricWeixin::Cms::Weixin::MediaResourcesController < EricWeixin::Cms::BaseController
|
2
|
+
|
3
|
+
def index
|
4
|
+
@media_resources = ::EricWeixin::MediaResource.all.order(:id)
|
5
|
+
@media_resources = @media_resources.where("tags like ?", "%#{params[:tag]}%") unless params[:tag].blank?
|
6
|
+
@media_resources = @media_resources.where(category_name: params[:category_name]) unless params[:category_name].blank?
|
7
|
+
@media_resources = @media_resources.paginate(per_page: params[:per_page]||10, page: params[:page]||1)
|
8
|
+
end
|
9
|
+
|
10
|
+
def new
|
11
|
+
@media_resource = ::EricWeixin::MediaResource.new
|
12
|
+
end
|
13
|
+
|
14
|
+
def create
|
15
|
+
begin
|
16
|
+
p = params.require(:resource).permit(:tags, :category_name, :public_account_id)
|
17
|
+
params.permit :pic
|
18
|
+
if p[:category_name] == 'pic_in_article'
|
19
|
+
EricWeixin::MediaResource.save_pic_in_article p, params[:pic]
|
20
|
+
flash[:success] = '创建成功'
|
21
|
+
redirect_to action: :new
|
22
|
+
return
|
23
|
+
else
|
24
|
+
p[:type] = p[:category_name]
|
25
|
+
EricWeixin::MediaResource.save_media p, params[:pic]
|
26
|
+
flash[:success] = '创建成功'
|
27
|
+
redirect_to action: :new
|
28
|
+
return
|
29
|
+
end
|
30
|
+
|
31
|
+
rescue Exception=> e
|
32
|
+
dispose_exception e
|
33
|
+
flash[:alert] = get_notice_str
|
34
|
+
redirect_to action: :new, session_content_id: set_session_content
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def edit
|
39
|
+
@media_resource = ::EricWeixin::MediaResource.find_by_id(params[:id])
|
40
|
+
end
|
41
|
+
|
42
|
+
def update
|
43
|
+
begin
|
44
|
+
media_resource = ::EricWeixin::MediaResource.find_by_id(params[:id])
|
45
|
+
new_tags = params.require(:resource).permit(:tags)[:tags]
|
46
|
+
media_resource.update! tags: new_tags unless new_tags.blank?
|
47
|
+
flash[:success] = "更新标签成功。"
|
48
|
+
redirect_to action: :index
|
49
|
+
rescue Exception=>e
|
50
|
+
dispose_exception e
|
51
|
+
flash[:alert] = get_notice_str
|
52
|
+
redirect_to "/eric_weixin/cms/weixin/media_resources/#{params[:id]}/edit?session_content_id=#{set_session_content}"
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def destroy
|
57
|
+
begin
|
58
|
+
media_resource = ::EricWeixin::MediaResource.find_by_id(params[:id])
|
59
|
+
media_resource.delete_self
|
60
|
+
flash[:success] = '删除成功'
|
61
|
+
redirect_to action: :index
|
62
|
+
rescue Exception=>e
|
63
|
+
dispose_exception e
|
64
|
+
flash[:alert] = get_notice_str
|
65
|
+
redirect_to action: :index
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|