xforum 0.0.36 → 0.0.37
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/app/assets/javascripts/xforum/forum_admin.js.coffee +28 -4
- data/app/assets/javascripts/xforum/global_java.js +2 -2
- data/app/assets/stylesheets/xforum/custom.css.scss +1 -6
- data/app/controllers/xforum/forums_controller.rb +2 -2
- data/app/models/xforum/category.rb +5 -2
- data/app/models/xforum/forum.rb +7 -4
- data/app/models/xforum/people_list.rb +17 -13
- data/app/models/xforum/topic.rb +10 -4
- data/app/models/xforum/translation.rb +1 -1
- data/app/views/xforum/admin_lists/_admin_users.html.erb +10 -10
- data/lib/xforum/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a1dcc8a188dcd60a90b395dadeaa8f10cbd0b96
|
4
|
+
data.tar.gz: ae3817460faacdb80c2a6212ffab8d845dce3b0c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b39c6b96be1cf67148c0ef84ce5d3886420742aec30ed74e12a96be0af2c4e15624258b898581582da3ec31b726339b746043a62ce0b7b3d7ccf8a00c2950d6a
|
7
|
+
data.tar.gz: dc5bff780515da4db1ad790402963bdb434560fc01c587b6f9463621a224a330b35d99b0cbc9826b5af097046bf1c9563ee590ed013aaaeae41351a4ca355657
|
@@ -36,8 +36,23 @@ jQuery ->
|
|
36
36
|
doRestrictCategory(event.target)
|
37
37
|
$('#restrict-topic').click ->
|
38
38
|
doRestrictTopic(event.target)
|
39
|
+
$('#user_email').dblclick ->
|
40
|
+
addEmail(event.target)
|
39
41
|
#todo add reason selection for rejecion (forum and user privilages)
|
40
42
|
|
43
|
+
clearEmail=->
|
44
|
+
document.getElementById('forum_selected_emails').innerHTML=''
|
45
|
+
|
46
|
+
addEmail=(which)->
|
47
|
+
email_list=document.getElementById('forum_selected_emails')
|
48
|
+
emails=email_list.innerHTML
|
49
|
+
email=which.innerHTML
|
50
|
+
if emails.search(email)>=0
|
51
|
+
emails=emails.replace(email+',\n','')
|
52
|
+
else
|
53
|
+
emails=emails+email+',\n'
|
54
|
+
email_list.innerHTML=emails
|
55
|
+
|
41
56
|
doRestrictCategory=(button)->
|
42
57
|
if button.value== button.dataset.restrict
|
43
58
|
button.value=button.dataset.submit
|
@@ -46,6 +61,7 @@ doRestrictCategory=(button)->
|
|
46
61
|
button.value= button.dataset.restrict
|
47
62
|
hideMe({id:'forum-restricted-list'})
|
48
63
|
request={function:'forum admin action'}
|
64
|
+
request.new_category = $('#forum-add-admin-category').val()
|
49
65
|
request.forum_action='restrict category'
|
50
66
|
request.user_list=$('#forum-restricted-list').val()
|
51
67
|
request.category=$('#forum-category-admin').val()
|
@@ -60,8 +76,10 @@ doRestrictTopic=(button)->
|
|
60
76
|
button.value= button.dataset.restrict
|
61
77
|
request={function:'forum admin action'}
|
62
78
|
request.forum_action='restrict topic'
|
63
|
-
request.
|
79
|
+
request.topic=$('#forum-topic-admin').val()
|
80
|
+
request.category=$('#forum-category-admin').val()
|
64
81
|
request.user_list=$('#forum-restricted-list').val()
|
82
|
+
request.new_topic = $('#forum-add-admin-topic').val()
|
65
83
|
hideMe({id:'forum-restricted-list'})
|
66
84
|
hideMe({id:'forum-admin-topic'})
|
67
85
|
$.post('xforum/forum_ajax',request)
|
@@ -116,6 +134,7 @@ doButtonAction = (which)->
|
|
116
134
|
window.doAdminStuff = ->
|
117
135
|
document.getElementById('forum-senate').dataset.admining = 'true'
|
118
136
|
setAdminDisplay()
|
137
|
+
clearEmail()
|
119
138
|
$.post('xforum/forum_ajax',{function:'get list',by_name:false, list:'admin-actions'},loadList)
|
120
139
|
$.post('xforum/forum_ajax',{function:'get list',by_name:false, list:'forum-distribution-lists'},loadList)
|
121
140
|
$.post('xforum/forum_ajax',{function:'get list',by_name:true, list:'admin-emails'},loadList)
|
@@ -136,6 +155,7 @@ setAdminDisplay=->
|
|
136
155
|
showMe({id:'forum-distribution-span'})
|
137
156
|
hideMe({id:'forum-moderator-add-span'})
|
138
157
|
hideMe({id:'forum-restricted-list'})
|
158
|
+
hideMe({name:'forum-act-on-admin-selector'})
|
139
159
|
document.getElementById('forum-new-distribution-list').value=''
|
140
160
|
|
141
161
|
turnLanguage=(toggle)->
|
@@ -174,6 +194,7 @@ setTagView = ->
|
|
174
194
|
$('#user-tag').focus()
|
175
195
|
|
176
196
|
checkActionSetup = (which)->
|
197
|
+
showMe({name:'forum-act-on-admin-selector'})
|
177
198
|
switch which.value
|
178
199
|
when 'create distribution'
|
179
200
|
setDistributionListView()
|
@@ -200,6 +221,7 @@ doAction = ->
|
|
200
221
|
request.new_list_name = $('#forum-new-distribution-list').val()
|
201
222
|
request.distribution_list = $('#forum-distribution-lists').val()
|
202
223
|
request.forum_action = $('#forum-actions').val()
|
224
|
+
request.emails=document.getElementById('forum_selected_emails').innerHTML
|
203
225
|
document.getElementById('forum-actions').selectedIndex=0
|
204
226
|
setAdminDisplay()
|
205
227
|
$("forum-email-body").val('')
|
@@ -248,7 +270,7 @@ deleteForumObject = (which_one)->
|
|
248
270
|
|
249
271
|
addOptionTo = (which_one,item)->
|
250
272
|
switch which_one
|
251
|
-
when 'category'
|
273
|
+
when 'category', 'categories'
|
252
274
|
pushOption($('[name=category_admin]'),{item:item,value:item},0)
|
253
275
|
pushOption($('[name=category]'),{item:item,value:item},2)
|
254
276
|
when 'language'
|
@@ -268,7 +290,9 @@ addCategory = (which,user)->
|
|
268
290
|
new_category = $('#forum-add-admin-category').val()
|
269
291
|
unless new_category == ''
|
270
292
|
addListEntry('forum-admins-category-list',{item:new_category})
|
271
|
-
|
293
|
+
request={function:'add to list',list:'category',new_item:new_category}
|
294
|
+
request.user=$('#forum-add-admin-user').val()
|
295
|
+
$.post('xforum/forum_ajax',request)
|
272
296
|
addOptionTo('forum-category',new_category)
|
273
297
|
addCancel({obj:which})
|
274
298
|
|
@@ -371,7 +395,7 @@ window.loadAdminsList = (params)->
|
|
371
395
|
which = 'forum-admins-topic-list'
|
372
396
|
short = 0
|
373
397
|
shift = true
|
374
|
-
when 'category'
|
398
|
+
when 'category' , 'categories'
|
375
399
|
which = 'forum-admins-category-list'
|
376
400
|
short = 1
|
377
401
|
shift = true
|
@@ -14,8 +14,8 @@ function showPageName() {
|
|
14
14
|
function checkPage(page) {
|
15
15
|
"use strict";
|
16
16
|
var path;
|
17
|
-
path = window.location.href
|
18
|
-
return (
|
17
|
+
path = window.location.href;
|
18
|
+
return path.indexOf(page) >= 0;
|
19
19
|
}
|
20
20
|
|
21
21
|
function whatsup1(message) {
|
@@ -41,7 +41,7 @@ module Xforum
|
|
41
41
|
render json: Translation.get_translations(params)
|
42
42
|
when 'add to list'
|
43
43
|
case params[:list]
|
44
|
-
when 'category'
|
44
|
+
when 'category' ,'categories'
|
45
45
|
response= Category.add_category(params, current_user)
|
46
46
|
when 'topic'
|
47
47
|
response= Topic.add_topic(params, current_user)
|
@@ -85,7 +85,7 @@ module Xforum
|
|
85
85
|
render json: Topic.subscribe(params[:topic], current_user)
|
86
86
|
when 'get suggestions'
|
87
87
|
case params[:list]
|
88
|
-
when 'category'
|
88
|
+
when 'category' , 'categories'
|
89
89
|
response= Category.get_suggestions(params, current_user)
|
90
90
|
when 'topic'
|
91
91
|
response= Topic.get_suggestions(params, current_user)
|
@@ -8,7 +8,7 @@ module Xforum
|
|
8
8
|
|
9
9
|
def self.add_category(params,user)
|
10
10
|
params[:user.id]=user.id if params[:user_id] == 'me'
|
11
|
-
user.forum_admin? ? id= Category.create(name:params[:new_item],user_id:user.id
|
11
|
+
user.forum_admin? ? id= Category.create(name:params[:new_item],user_id:user.id).id : id='not happening'
|
12
12
|
{id:id}
|
13
13
|
end
|
14
14
|
|
@@ -24,7 +24,9 @@ module Xforum
|
|
24
24
|
|
25
25
|
def self.restrict_me(params,user)
|
26
26
|
if user.forum_admin?
|
27
|
-
|
27
|
+
params[:new_category].nil? ?
|
28
|
+
category=Category.find_by(name: params[:category]) :
|
29
|
+
category=Category.create(name: params[:new_category], user_id: user.id)
|
28
30
|
category.restricted= !category.restricted
|
29
31
|
category.save
|
30
32
|
invitation=PeopleList.find_or_create_by(category_id:category.id,list:'invitation')
|
@@ -59,6 +61,7 @@ module Xforum
|
|
59
61
|
Category.create(name:'request new category',closed:false,suggestion:false)
|
60
62
|
Category.create(name:'select category',closed:false,suggestion:false)
|
61
63
|
end
|
64
|
+
|
62
65
|
params[:hold_test]=='true' ?
|
63
66
|
category_list= Category.grab({closed:false,suggestion:false},[:id,:name,:closed,:restricted],{}) :
|
64
67
|
category_list= Category.grab('all',[:id,:name,:closed,:restricted],{})
|
data/app/models/xforum/forum.rb
CHANGED
@@ -13,10 +13,13 @@ module Xforum
|
|
13
13
|
def self.do_admin_action(params,user)
|
14
14
|
params[:users1]=[] if params[:users1].nil?
|
15
15
|
params[:users2]=[] if params[:users2].nil?
|
16
|
-
user_ids=
|
17
|
-
|
18
|
-
|
19
|
-
|
16
|
+
user_ids=[]
|
17
|
+
unless params[:emails].nil?
|
18
|
+
people_emails=params[:emails].split(",\n")
|
19
|
+
people_emails.each{|email|user_ids.push(User.where(email:email).pluck(:id)[0] ) }
|
20
|
+
(0...user_ids.size).each{|i| user_ids[i]=user_ids[i].to_i}
|
21
|
+
user_ids.delete(0)
|
22
|
+
end
|
20
23
|
case params[:forum_action]
|
21
24
|
when 'suspend posting'
|
22
25
|
users_ids.each { |user_id| Xforum.user_class.where(id: user_id).update_all(forum_posting_priviages: false) }
|
@@ -1,4 +1,9 @@
|
|
1
|
-
|
1
|
+
# forum belongs_to
|
2
|
+
# topic belongs_to
|
3
|
+
# category belongs_to
|
4
|
+
# name, string limit:20
|
5
|
+
# list, string limit:20
|
6
|
+
# people, binary default:[]
|
2
7
|
module Xforum
|
3
8
|
class PeopleList < ActiveRecord::Base
|
4
9
|
require 'json'
|
@@ -35,11 +40,11 @@ module Xforum
|
|
35
40
|
people
|
36
41
|
end
|
37
42
|
|
38
|
-
def self.manage_list(params,
|
43
|
+
def self.manage_list(params,user_ids)
|
39
44
|
case params[:forum_action]
|
40
45
|
when 'create distribution'
|
41
46
|
PeopleList.find_or_create_by(name:params[:new_list_name], list:'distribution list'){|list|
|
42
|
-
list.people=
|
47
|
+
list.people=user_ids.to_json
|
43
48
|
}
|
44
49
|
when 'add to distribution'
|
45
50
|
alist= user_ids
|
@@ -80,9 +85,9 @@ module Xforum
|
|
80
85
|
end
|
81
86
|
|
82
87
|
def self.get_forum_emails(params, user)
|
83
|
-
user.forum_admin? ? alist=Xforum.user_class.all.pluck(:email, :id) : alist= []
|
88
|
+
user.forum_admin? ? alist=Xforum.user_class.all.order(:email).pluck(:email, :id) : alist= []
|
84
89
|
alist.unshift([I18n.t('xForum.select_none'), 'select none', 0])
|
85
|
-
{list_data:
|
90
|
+
{list_data:ForumAssist.named_array(alist, [:value, :item]), name: 'forum-user-email'}
|
86
91
|
end
|
87
92
|
|
88
93
|
def self.get_forum_users(params, user)
|
@@ -91,10 +96,10 @@ module Xforum
|
|
91
96
|
{list_data: ForumAssist.named_array(alist, [:value, :item]), name: 'forum-user-tag'}
|
92
97
|
end
|
93
98
|
|
94
|
-
def self.check_restrictions(
|
95
|
-
blist
|
99
|
+
def self.check_restrictions(blist,user, list_type)
|
100
|
+
alist=blist.clone #so you can do list.each and delete items
|
96
101
|
blist.each { |record|
|
97
|
-
|
102
|
+
alist.delete(record) if record[:restricted] && PeopleList.check_invitation(record[:id], user.id,list_type)
|
98
103
|
}
|
99
104
|
alist
|
100
105
|
end
|
@@ -102,12 +107,11 @@ module Xforum
|
|
102
107
|
def self.check_invitation(id,user_id,list_type)
|
103
108
|
case list_type
|
104
109
|
when 'topic'
|
105
|
-
JSON.load(PeopleList.where(topic_id:id,list:'invitation').people).include(user_id.to_s)
|
106
|
-
when 'category'
|
107
|
-
JSON.load(PeopleList.where(category_id:id,list:'invitation').people).include(user_id.to_s)
|
110
|
+
!JSON.load(PeopleList.where(topic_id:id,list:'invitation')[0].people).include?(user_id.to_s)
|
111
|
+
when 'category', 'categories'
|
112
|
+
!JSON.load(PeopleList.where(category_id:id,list:'invitation')[0].people).include?(user_id.to_s)
|
108
113
|
when 'forum'
|
109
|
-
JSON.load(PeopleList.where(forum_id:id,list:'invitation').people).include(user_id.to_s)
|
110
|
-
|
114
|
+
!JSON.load(PeopleList.where(forum_id:id,list:'invitation')[0].people).include?(user_id.to_s)
|
111
115
|
end
|
112
116
|
end
|
113
117
|
def self.get_forum_distribution_lists(params,user)
|
data/app/models/xforum/topic.rb
CHANGED
@@ -20,7 +20,6 @@ module Xforum
|
|
20
20
|
def self.topics(params,user)
|
21
21
|
Topic.create(name:'select topic') if Topic.find_by(name:'select topic').nil?
|
22
22
|
Topic.create(name:'request new topic') if Topic.find_by(name:'request new topic').nil?
|
23
|
-
|
24
23
|
unless params[:category] == 'select category'
|
25
24
|
category_id=Category.where(name:params[:category]).pluck(:id)[0]
|
26
25
|
params[:hold_test]=='true' ?
|
@@ -50,10 +49,17 @@ module Xforum
|
|
50
49
|
|
51
50
|
def self.restrict_me(params,user)
|
52
51
|
if user.forum_admin?
|
53
|
-
|
54
|
-
|
52
|
+
if params[:new_topic].nil?
|
53
|
+
topic=Topic.find_by(name:params[:topic])
|
54
|
+
topic.restricted= !topic.restricted
|
55
|
+
else
|
56
|
+
category=Category.where(name:params[:category]).pluck(:id)[0]
|
57
|
+
topic=Topic.create(name:params[:new_topic],user_id:user.id,category_id:category,restricted:true)
|
58
|
+
Forum.add_comment({topic:params[:new_topic],comment:params[:new_topic],parent:0},user)
|
59
|
+
end
|
55
60
|
invitation=PeopleList.find_or_create_by(topic_id:topic.id,list:'invitation')
|
56
|
-
invitation.people= PeopleList.find_by(
|
61
|
+
invitation.people= PeopleList.find_by(id:params[:user_list]).people
|
62
|
+
invitation.save
|
57
63
|
end
|
58
64
|
end
|
59
65
|
|
@@ -88,7 +88,7 @@ module Xforum
|
|
88
88
|
alist.each.each {|entry|
|
89
89
|
translation=Translation.find_by(forum_id:entry[:id],language_id:language) unless language.nil?
|
90
90
|
case list_name
|
91
|
-
when 'category'
|
91
|
+
when 'category' , 'categories'
|
92
92
|
entry.store(:item,Category.where(id:entry[:id]).pluck(:name)[0] )
|
93
93
|
entry.store(:value,entry[:item])
|
94
94
|
when 'topic'
|
@@ -7,23 +7,23 @@
|
|
7
7
|
<%=select_tag(:users,options_for_select(@forum_actions ), id:'forum-actions', class:'forum-select')%>
|
8
8
|
<input class='red-ellipse comment-btn' type='button' id= "forum-admin-button" name ='forum-act-on-admin-selector' value= "<%= t('xForum.Submit')%>" >
|
9
9
|
</span>
|
10
|
-
<span class="col-md-
|
11
|
-
<label> <%= t('xForum.User_Name') %> </label> <br><br>
|
12
|
-
|
13
|
-
<button class="cool-selector" name="forum-user-tag-show"><input class= 'silver-selector' type='button' id= 'forum-admin-button' name='forum-user-tag-choose' value="<%= t('xForum.select_user')%>"></button>
|
14
|
-
<span id='forum-user-tag-span'><%=select_tag(:users,options_for_select(@user_tags ), multiple:true, name:'forum-user-tag',size:6, class:'forum-select')%></span>
|
15
|
-
</span>
|
16
|
-
<span class="col-md-3">
|
10
|
+
<span class="col-md-5">
|
17
11
|
<label> <%= t('xForum.User_Email')%> </label> <br><br>
|
18
12
|
<button class="cool-selector" name="forum-user-email-show"><input class= 'silver-selector' type='button' id= 'forum-admin-button' name='forum-user-email-choose' value="<%= t('xForum.select_user')%>"></button>
|
19
13
|
<span id='forum-user-email-span'><%=select_tag(:user_email,options_for_select(@user_email), multiple:true, size:6, name:'forum-user-email', class:'forum-select')%></span>
|
20
|
-
|
21
|
-
|
14
|
+
|
15
|
+
<label> <%= t('xForum.User_Name') %> </label> <br><br>
|
16
|
+
<button class="cool-selector" name="forum-user-tag-show"><input class= 'silver-selector' type='button' id= 'forum-admin-button' name='forum-user-tag-choose' value="<%= t('xForum.select_user')%>"></button>
|
17
|
+
<span id='forum-user-tag-span'><%=select_tag(:users,options_for_select(@user_tags ), multiple:true, name:'forum-user-tag',size:6, class:'forum-select')%></span>
|
18
|
+
</span>
|
19
|
+
<span class="col-md-4">
|
22
20
|
<span id="forum-distribution-span">
|
23
21
|
<label> <%= t('xForum.Distribuiton_List_Name')%> </label> <br><br>
|
24
22
|
<%=select_tag(:forum,options_for_select(@distribution_lists), id:'forum-distribution-lists', class:'forum-select')%>
|
25
23
|
<label><%=t('xForum.New')%></label> <input type="text" id='forum-new-distribution-list' class="admin-edit-field" >
|
26
|
-
|
24
|
+
<label><%=t('xFrorum.User_Email')%></label>
|
25
|
+
<%=text_area_tag(:forum_selected_emails )%>
|
26
|
+
</span>
|
27
27
|
<span id="forum-moderator-add-span">
|
28
28
|
<label> <%= t('xForum.Add_Topic_Monitor')%> </label> <br><br>
|
29
29
|
<%= select_tag(:forum, options_for_select(@categories),id:'forum-category-monitor', class: 'forum-select') %>
|
data/lib/xforum/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xforum
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.37
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert D Blanton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-07-
|
11
|
+
date: 2014-07-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sqlite3
|