Class: Xforum::Category

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/xforum/category.rb

Class Method Summary collapse

Class Method Details

.add_category(params, user) ⇒ Object



9
10
11
12
13
# File 'app/models/xforum/category.rb', line 9

def self.add_category(params,user)
  params[:user.id]=user.id if params[:user_id] == 'me'
  user.forum_admin? ? id= Category.create(name:params[:new_item],user_id:user.id,suggestion:false).id : id='not happening'
  {id:id}
end

.categories(params, user) ⇒ Object



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'app/models/xforum/category.rb', line 57

def self.categories(params,user)
  if Category.first.nil?
    Category.create(name:'request new category',closed:false,suggestion:false)
    Category.create(name:'select category',closed:false,suggestion:false)
  end
  params[:hold_test]=='true' ?
      category_list= Category.grab({closed:false,suggestion:false},[:id,:name,:closed,:restricted],{})   :
      category_list= Category.grab('all',[:id,:name,:closed,:restricted],{})
  category_list=ForumAssist.make_last(category_list.clone, {key: :id,ref:Category.where(name:'request new category').pluck(:id)[0]})
  category_list=ForumAssist.make_first(category_list.clone,{key: :id,ref:Category.where(name:'select category').pluck(:id)[0]})
  category_list=PeopleList.check_restrictions(category_list.clone,user,'categories') unless user.forum_admin?
  category_list=Translation.translate_list(category_list.clone,params[:language],'category')
  category_list.push({id:0, item:'admin',value: I18n.t('xForum.Admin_name')}) if user.forum_admin?
  {list_data:category_list,id:params[:list]}
end

.edit_category(params, user) ⇒ Object



43
44
45
# File 'app/models/xforum/category.rb', line 43

def self.edit_category(params,user)
    Category.where(id: params[:id]).update_all(name:params[:newline]) if user.forum_admin?
end

.get_category_id(params) ⇒ Object



72
73
74
# File 'app/models/xforum/category.rb', line 72

def self.get_category_id(params)
  Category.where(name:params[:category]).pluck(:id)[0]
end

.get_suggestions(params, user) ⇒ Object



36
37
38
39
40
41
# File 'app/models/xforum/category.rb', line 36

def self.get_suggestions(params,user)
    data= Category.where(suggestion:true).pluck(:name, :user_id,:id)
    data=ForumAssist.named_array(data, [:suggestion, :user,:id]) unless data.empty?
    data=ForumAssist.add_user_name(data.clone) unless data.empty?
    user.forum_admin? ? {data: data, list: 'forum-category-prososals-list'} : {response: 'nothing doing'}
end

.remove_object(params, user) ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'app/models/xforum/category.rb', line 15

def self.remove_object(params,user)
  case(params[:state_action])
    when 'del'  then Category.where(id:params[:id]).update_all(closed:true)
    when 'open' then Category.where(id:params[:id]).update_all(closed:false)
    else
      # type code here
  end  if user.forum_admin?
  {action:'nothing to do'}
end

.restrict_me(params, user) ⇒ Object



25
26
27
28
29
30
31
32
33
34
# File 'app/models/xforum/category.rb', line 25

def self.restrict_me(params,user)
  if user.forum_admin?
    category=Category.find_by(name:params[:category])
    category.restricted= !category.restricted
    category.save
    invitation=PeopleList.find_or_create_by(category_id:category.id,list:'invitation')
    invitation.people= PeopleList.find_by(id:params[:user_list]).people
    invitation.save
  end
end

.suggestion(params, user) ⇒ Object

add new category or topic



46
47
48
49
# File 'app/models/xforum/category.rb', line 46

def self.suggestion(params,user)  #add new category or topic
  Category.create(suggestion:true,name:params[:suggestion],user_id:user.id)
  {response:'nothing to do'}
end

.suggestion_close(params, user) ⇒ Object



51
52
53
54
55
# File 'app/models/xforum/category.rb', line 51

def self.suggestion_close(params,user)
  params[:result]=='Accept' ?
      (Category.where(id: params[:id]).update_all(suggestion: false) if user.forum_admin?) :
      Category.where(id: params[:id]).update_all(state: 'closed') if user.forum_admin?
end