eric_weixin 0.1.1 → 0.2.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.
- 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
|