Merge commit '6b248a949b44b6e4dc908f29f4f08c3a821210cd' into sidebar_config
Conflicts: app/models/user/attribute_value.rb app/views/layouts/_side_bar_content.html.erb vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/bulletin_categorys_controller.rb
This commit is contained in:
commit
3d573680b2
1006 files changed
+5883
-12004
No files matched your search
@@ -1,7 +1,7 @@
|
||||
class Admin::AdBannersController < OrbitBackendController
|
||||
layout "new_admin"
|
||||
|
||||
before_filter :force_order_for_visitor,:only=>[:index]
|
||||
#before_filter :force_order_for_user,:except => [:index]
|
||||
before_filter :force_order_for_user,:except => [:index]
|
||||
before_filter :for_app_sub_manager,:except => [:index]
|
||||
before_filter :for_app_manager,:except => [:index,:show,:update,:realtime_preview]
|
||||
|
||||
|
||||
@@ -1,7 +1,13 @@
|
||||
class Admin::AdImagesController < OrbitBackendController
|
||||
layout 'new_admin'
|
||||
before_filter :authenticate_user!
|
||||
before_filter :for_app_sub_manager
|
||||
class Admin::AdImagesController < Admin::AdBannersController
|
||||
|
||||
# before_filter :force_order_for_user
|
||||
# before_filter :for_app_sub_manager
|
||||
# before_filter :for_app_manager
|
||||
|
||||
def initialize
|
||||
super
|
||||
@app_title = "ad_banner"
|
||||
end
|
||||
|
||||
def edit
|
||||
@ad_banner = AdBanner.find params[:ad_banner_id]
|
||||
|
||||
@@ -5,9 +5,9 @@ class Admin::DashboardsController < OrbitBackendController
|
||||
# before_filter :is_admin?
|
||||
|
||||
def index
|
||||
@module_app_contents, @module_app_contents_total = get_module_app_count('bulletin', 'news_bulletin', 'page_context', 'web_link')
|
||||
@recent_updated = get_recently_updated('bulletin', 'news_bulletin', 'page_context', 'web_link')
|
||||
@most_visited = get_most_visited('bulletin', 'news_bulletin', 'page_context')
|
||||
@module_app_contents, @module_app_contents_total = get_module_app_count('bulletin', 'page_context', 'web_link')
|
||||
@recent_updated = get_recently_updated('bulletin', 'page_context', 'web_link')
|
||||
@most_visited = get_most_visited('bulletin', 'page_context')
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
@@ -52,7 +52,7 @@ class Admin::DesignsController < OrbitBackendController
|
||||
case params[:type]
|
||||
when 'layout', 'css_default', 'css_reset'
|
||||
@object = @design.send(params[:type])
|
||||
when 'image', 'javascript', 'theme'
|
||||
when 'javascripts', 'themes'#, 'images'
|
||||
@object = @design.send(params[:type]).find(params[:object_id])
|
||||
end
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ class Admin::InfosController < ApplicationController
|
||||
|
||||
def edit
|
||||
@attribute = Info.find(params[:id])
|
||||
@attribute_fields_upper_object = [@attribute]
|
||||
render :template => 'admin/attributes/edit'
|
||||
end
|
||||
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
class Admin::LinksController < ApplicationController
|
||||
|
||||
layout "site_editor"
|
||||
|
||||
before_filter :authenticate_user!
|
||||
before_filter :find_parent_item
|
||||
before_filter :is_admin?
|
||||
class Admin::LinksController < Admin::ItemsController
|
||||
|
||||
def show
|
||||
@item ||= Link.find(params[:id])
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
class Admin::MemberSelectsController < ApplicationController
|
||||
|
||||
layout "new_admin"
|
||||
|
||||
def index
|
||||
|
||||
# @member_selects = OrbitApp::Module::Role.all
|
||||
@member_selects = Role.excludes('disabled' => true)
|
||||
|
||||
if(!params[:show_plugin_profile].nil?)
|
||||
@right_partial = OrbitApp::Plugin::Registration.find_by_key(params[:show_plugin_profile]).profile_partial_path rescue 'plugin_summary'
|
||||
else
|
||||
@right_partial = "admin/users_new_interface/plugin_summary"
|
||||
end
|
||||
|
||||
@member_select_results = Role.excludes('disabled' => true)
|
||||
@member_select_search_url = admin_member_selects_path
|
||||
|
||||
|
||||
# @aa = User.where(:role_ids.in => [ "4f45f3b9e9d02c5db900001c"])
|
||||
|
||||
end
|
||||
|
||||
# def show
|
||||
|
||||
# @aa = admin_member_selects_path
|
||||
|
||||
|
||||
# respond_to do |format|
|
||||
# format.js{ render 'member_select_search' }
|
||||
# end
|
||||
|
||||
# end
|
||||
|
||||
def member_select_add
|
||||
|
||||
# @users = User.where(:ids.in => [params[:users].collect{|x| x[0]}])
|
||||
@users = params[:users].collect{|key,value| User.find key } rescue []
|
||||
# debugger
|
||||
respond_to do |format|
|
||||
format.js
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def member_select_search
|
||||
|
||||
@pdatas = params[:member_selects]
|
||||
|
||||
@users = Role.excludes('disabled' => true)
|
||||
|
||||
|
||||
# debugger
|
||||
|
||||
# User.where(:role_ids.in => [ "4f45f3b9e9d02c5db900001c"])
|
||||
|
||||
# @users = User.where(:role_ids.in => [ "your role_id"])
|
||||
# @users.where(:sub_role_ids.in => [id, id, id])
|
||||
|
||||
|
||||
# @member_select_results = Role.excludes('disabled' => true)
|
||||
@member_select_results = User.where(:sub_role_ids.in => params[:member_selects][:sub_role])
|
||||
|
||||
@member_select_search_url = admin_member_select_member_select_add_path('member_select_add')
|
||||
|
||||
|
||||
respond_to do |format|
|
||||
format.js
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
@@ -5,6 +5,8 @@ class Admin::PagePartsController < ApplicationController
|
||||
before_filter :authenticate_user!
|
||||
before_filter :is_admin?
|
||||
before_filter :set_current_item
|
||||
|
||||
helper 'admin/items'
|
||||
|
||||
def show
|
||||
@part = PagePart.find(params[:id])
|
||||
|
||||
@@ -1,11 +1,4 @@
|
||||
class Admin::PagesController < ApplicationController
|
||||
|
||||
layout "site_editor"
|
||||
|
||||
before_filter :authenticate_user!
|
||||
before_filter :find_parent_item
|
||||
before_filter :is_admin?
|
||||
before_filter :set_current_item
|
||||
class Admin::PagesController < Admin::ItemsController
|
||||
|
||||
def show
|
||||
@item = Page.find(params[:id])
|
||||
@@ -40,7 +33,7 @@ class Admin::PagesController < ApplicationController
|
||||
|
||||
@frontend_path = @item.app_frontend_url ? @item.app_frontend_url : @module_app.widgets.keys[0]
|
||||
|
||||
if @module_app.widgets.any?{|b| b.class == Array}
|
||||
if @module_app && @module_app.widgets && @module_app.widgets.any?{|b| b.class == Array}
|
||||
@frontend_style = @module_app.widgets[@frontend_path] if !@frontend_path.blank? && !@module_app.widgets.blank?
|
||||
end
|
||||
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
class Admin::RolesController < ApplicationController
|
||||
|
||||
layout "admin"
|
||||
layout "new_admin"
|
||||
before_filter :authenticate_user!
|
||||
before_filter :is_admin?
|
||||
before_filter :set_attribute, :only => [:index, :show, :new, :edit]
|
||||
helper Admin::AttributeValuesViewHelper
|
||||
|
||||
def index
|
||||
@attributes = Role.all.entries
|
||||
@@ -21,6 +22,7 @@ class Admin::RolesController < ApplicationController
|
||||
|
||||
def edit
|
||||
@attribute = Role.find(params[:id])
|
||||
@attribute_fields_upper_object = @attribute.sub_roles
|
||||
render :template => 'admin/attributes/edit'
|
||||
end
|
||||
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
class Admin::UsersNewInterfaceController < ApplicationController
|
||||
class Admin::UsersNewInterfaceController < OrbitBackendController
|
||||
|
||||
layout "new_admin"
|
||||
before_filter :authenticate_user!
|
||||
before_filter :set_attribute, :only => [:index, :show, :new, :edit]
|
||||
# before_filter :authenticate_user!
|
||||
# before_filter :set_attribute, :only => [:index, :show, :new, :edit]
|
||||
|
||||
before_filter :force_order_for_visitor,:only=>[:index,:show]
|
||||
before_filter :force_order_for_user,:except => [:index,:show]
|
||||
before_filter :set_attribute,:except => [:index,:show]
|
||||
|
||||
def index
|
||||
get_tags
|
||||
get_sub_roles
|
||||
@@ -102,7 +106,6 @@ class Admin::UsersNewInterfaceController < ApplicationController
|
||||
end
|
||||
|
||||
def update
|
||||
binding.pry
|
||||
@user = User.find(params[:id])
|
||||
|
||||
@user.update_attributes(params[:user])
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
class Desktop::CoAuthorsController < ApplicationController
|
||||
def index
|
||||
@co_authors = CoAuthor.where(name_id: current_user.id)
|
||||
|
||||
respond_to do |format|
|
||||
format.html { render :layout => false}
|
||||
format.json { render json: @co_authors }
|
||||
end
|
||||
end
|
||||
|
||||
def show
|
||||
@co_author = CoAuthor.find(params[:id])
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to desktop_co_authors_url, :layout => false }
|
||||
format.json { render json: @co_author }
|
||||
end
|
||||
end
|
||||
|
||||
def new
|
||||
@co_author = CoAuthor.new
|
||||
|
||||
respond_to do |format|
|
||||
format.html { render :layout => false}
|
||||
end
|
||||
end
|
||||
|
||||
def edit
|
||||
@co_author = CoAuthor.find(params[:id])
|
||||
respond_to do |format|
|
||||
format.html { render :layout => false}
|
||||
end
|
||||
end
|
||||
|
||||
def create
|
||||
@co_author = CoAuthor.new(params[:co_author])
|
||||
@co_author.name_id= current_user.id
|
||||
|
||||
if @co_author.save
|
||||
render json: {success:true, msg: "Co-author successfully saved!"}.to_json
|
||||
else
|
||||
render json: {success: false, msg: @co_author.errors.full_messages}.to_json
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
@co_author = CoAuthor.find(params[:id])
|
||||
|
||||
if @co_author.update_attributes(params[:co_author])
|
||||
render json: {success:true, msg: "Co-author successfully update!"}.to_json
|
||||
else
|
||||
render json: {success: false, msg: @co_author.errors.full_messages}.to_json
|
||||
end
|
||||
end
|
||||
|
||||
def delete
|
||||
@co_author = CoAuthor.find(params[:id])
|
||||
@co_author.destroy
|
||||
|
||||
#respond_to do |format|
|
||||
# format.html { redirect_to desktop_co_authors_url, :layout => false }
|
||||
# format.json { head :no_content }
|
||||
#end
|
||||
end
|
||||
|
||||
def get_co_authors_json
|
||||
@co_authors = CoAuthor.where(name_id: current_user.id)
|
||||
data = Array.new
|
||||
|
||||
@co_authors.each do |co_author|
|
||||
data << {
|
||||
author: co_author.co_author,
|
||||
email: co_author.email,
|
||||
type: co_author.type
|
||||
}
|
||||
end
|
||||
render json: JSON.pretty_generate(data)
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,126 @@
|
||||
class Desktop::JournalPagesController < ApplicationController
|
||||
#before_filter :check_for_cancel, :only => [:create, :update]
|
||||
|
||||
def index
|
||||
@writing_journal = WritingJournal.where(create_user_id: current_user.id)
|
||||
@level_types = JournalLevelType.all
|
||||
|
||||
respond_to do |format|
|
||||
format.html { render :layout => false}
|
||||
end
|
||||
end
|
||||
|
||||
def show
|
||||
end
|
||||
|
||||
def new
|
||||
@writing_journal = WritingJournal.new
|
||||
@level_types = JournalLevelType.all
|
||||
@author_types = JournalAuthorType.all
|
||||
@paper_types= JournalPaperType.all
|
||||
|
||||
respond_to do |format|
|
||||
format.html { render :layout => false}
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def edit
|
||||
@writing_journal= WritingJournal.find(params[:id])
|
||||
@level_types = JournalLevelType.all
|
||||
@author_types = JournalAuthorType.all
|
||||
@paper_types= JournalPaperType.all
|
||||
respond_to do |format|
|
||||
format.html { render :layout => false}
|
||||
end
|
||||
end
|
||||
|
||||
def create
|
||||
params[:writing_journal][:create_user_id] = current_user.id
|
||||
@writing_journal = WritingJournal.new(params[:writing_journal])
|
||||
|
||||
if @writing_journal.save
|
||||
render json: {success: true, msg: "Paper successfully saved!"}.to_json
|
||||
else
|
||||
render json: {success: false, msg: @writing_journal.errors.full_messages}.to_json
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
params[:writing_journal][:update_user_id] = current_user.id
|
||||
@writing_journal= WritingJournal.find(params[:id])
|
||||
respond_to do |format|
|
||||
if @writing_journal.update_attributes(params[:writing_journal])
|
||||
render json: {success: true, msg: "Paper successfully saved!"}.to_json
|
||||
else
|
||||
render json: {success: false, msg: @writing_journal.errors.full_messages}.to_json
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def check_file_type file
|
||||
if not file.nil?
|
||||
file_type = MIME::Types.type_for(file).first.to_s.split("/")[1]
|
||||
|
||||
# case file_type
|
||||
# when "jpg", "jpeg"
|
||||
# type = "jpg"
|
||||
# when "text", "txt"
|
||||
# type = "txt"
|
||||
# when "pdf"
|
||||
# type = "pdf"
|
||||
# when "png"
|
||||
# type = "png"
|
||||
# else "readme"
|
||||
# end
|
||||
|
||||
file_type = "/assets/ft-icons/#{file_type}/#{file_type}-48_32.png"
|
||||
else
|
||||
file_type = ""
|
||||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
@writing_journal = WritingJournal.find(params[:id])
|
||||
@writing_journal.destroy
|
||||
render :json => {success: true, msg: "Paper deleted successfully!"}
|
||||
end
|
||||
|
||||
def get_journals_json
|
||||
publications = WritingJournal.where(create_user_id: current_user.id)
|
||||
|
||||
sort_publications= Hash.new
|
||||
data = Array.new
|
||||
|
||||
publications.each do |publication|
|
||||
if sort_publications[publication.journal_title].nil?
|
||||
sort_publications[publication.journal_title] = Array.new
|
||||
end
|
||||
sort_publications[publication.journal_title] <<
|
||||
{ title: publication.paper_title,
|
||||
keywords: publication.keywords,
|
||||
abstract: publication.abstract,
|
||||
coauthors: publication.authors,
|
||||
year: publication.year,
|
||||
url_edit: edit_desktop_journal_page_path(publication),
|
||||
url_delete: desktop_journal_page_path(publication),
|
||||
files: publication.writing_journal_files.collect{|file|
|
||||
{title: file.title, url: file.file.url, icon: check_file_type(file.file.url)}
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
sort_publications.each do |journal, papers|
|
||||
data << {title: journal, papers: papers}
|
||||
end
|
||||
|
||||
render json: JSON.pretty_generate(data)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def check_for_cancel
|
||||
if params[:commit] == "Cancel"
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -27,17 +27,17 @@ class DesktopController< ApplicationController
|
||||
render :layout => false
|
||||
end
|
||||
|
||||
def settingthemes
|
||||
def themes
|
||||
@themes = DesktopTheme.all
|
||||
# raise @themes.inspect
|
||||
render "desktop/settings/themes", :layout => false
|
||||
end
|
||||
|
||||
def settingsections
|
||||
def sections
|
||||
render "desktop/settings/sections", :layout => false
|
||||
end
|
||||
|
||||
def settingconnection
|
||||
def connections
|
||||
render "desktop/settings/connections", :layout => false
|
||||
end
|
||||
|
||||
@@ -116,7 +116,7 @@ class DesktopController< ApplicationController
|
||||
if tile.data_category == "widget"
|
||||
widge = DesktopWidget.find(tile.desktop_widget_id.to_s)
|
||||
# data_content = widge.widget_layout.file
|
||||
data_content = "desktop/widget_layout?id="+tile.desktop_widget_id.to_s
|
||||
data_content = "/desktop/widget_layout?id="+tile.desktop_widget_id.to_s
|
||||
jsfile = widge.javascripts.collect{|js| js.file}
|
||||
cssfile = widge.css_default.file
|
||||
shape = widge.shape
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
class DesktopPublicationsController< ApplicationController
|
||||
def journal_p
|
||||
render "desktop/journal_p", :layout => false
|
||||
end
|
||||
|
||||
def journal_p_list
|
||||
render "desktop/journal_pages/list", :layout => false
|
||||
end
|
||||
|
||||
def journal_p_add
|
||||
debugger
|
||||
render "desktop/journal_pages/add", :layout => false
|
||||
end
|
||||
|
||||
def books
|
||||
render "desktop/books", :layout => false
|
||||
end
|
||||
|
||||
def books_list
|
||||
render "desktop/books/list", :layout => false
|
||||
end
|
||||
|
||||
def books_add
|
||||
render "desktop/books/add", :layout => false
|
||||
end
|
||||
|
||||
def seminar_p
|
||||
render "desktop/seminar_p", :layout => false
|
||||
end
|
||||
|
||||
def seminar_p_list
|
||||
render "desktop/seminar_pages/list", :layout => false
|
||||
end
|
||||
|
||||
def seminar_p_add
|
||||
render "desktop/seminar_pages/add", :layout => false
|
||||
end
|
||||
|
||||
def create_journal
|
||||
Journal.create(user_id: current_user.id, title: "Ice Cream Sandwich")
|
||||
b = Array.new
|
||||
b << {"success"=>"true"}
|
||||
render :json=>b.to_json
|
||||
end
|
||||
|
||||
def getjournals
|
||||
@journals = current_user.journals
|
||||
data = Array.new
|
||||
@journals.each do |journal|
|
||||
@papers = journal.papers.all
|
||||
data << {"title" => journal.title, "papers" => @papers}
|
||||
end
|
||||
render :json=>data.to_json
|
||||
end
|
||||
|
||||
def delete_journal
|
||||
@journals = Journal.find("")
|
||||
@journals.delete
|
||||
b = Array.new
|
||||
b << {"success"=>"true"}
|
||||
render :json=>b.to_json
|
||||
end
|
||||
|
||||
def update_journal
|
||||
@journal = Journal.find("4ff2d6ebbd98eb02b9000017")
|
||||
@papers = @journal.papers
|
||||
@papers.each do |paper|
|
||||
paper.update_attributes(:user_id => current_user.id)
|
||||
end
|
||||
b = Array.new
|
||||
|
||||
b << {"success"=>"true"}
|
||||
render :json=>b.to_json
|
||||
end
|
||||
end
|
||||
@@ -1,75 +1,59 @@
|
||||
require 'mime/types'
|
||||
|
||||
class DesktopPublicationsController< ApplicationController
|
||||
def journal_p
|
||||
render "desktop/journal_p", :layout => false
|
||||
end
|
||||
|
||||
def journal_p_list
|
||||
render "desktop/journal_pages/list", :layout => false
|
||||
end
|
||||
|
||||
def journal_p_add
|
||||
debugger
|
||||
render "desktop/journal_pages/add", :layout => false
|
||||
end
|
||||
def journal_p
|
||||
render "desktop/journal_p", :layout => false
|
||||
end
|
||||
|
||||
def books
|
||||
render "desktop/books", :layout => false
|
||||
end
|
||||
def books
|
||||
render "desktop/books", :layout => false
|
||||
end
|
||||
|
||||
def books_list
|
||||
render "desktop/books/list", :layout => false
|
||||
end
|
||||
def books_list
|
||||
render "desktop/books/list", :layout => false
|
||||
end
|
||||
|
||||
def books_add
|
||||
render "desktop/books/add", :layout => false
|
||||
end
|
||||
def books_add
|
||||
render "desktop/books/add", :layout => false
|
||||
end
|
||||
|
||||
def seminar_p
|
||||
render "desktop/seminar_p", :layout => false
|
||||
end
|
||||
def seminar_p
|
||||
render "desktop/seminar_p", :layout => false
|
||||
end
|
||||
|
||||
def seminar_p_list
|
||||
render "desktop/seminar_pages/list", :layout => false
|
||||
end
|
||||
def seminar_p_list
|
||||
render "desktop/seminar_pages/list", :layout => false
|
||||
end
|
||||
|
||||
def seminar_p_add
|
||||
render "desktop/seminar_pages/add", :layout => false
|
||||
end
|
||||
def seminar_p_add
|
||||
render "desktop/seminar_pages/add", :layout => false
|
||||
end
|
||||
|
||||
def create_journal
|
||||
Journal.create(user_id: current_user.id, title: "Ice Cream Sandwich")
|
||||
b = Array.new
|
||||
b << {"success"=>"true"}
|
||||
render :json=>b.to_json
|
||||
end
|
||||
|
||||
def getjournals
|
||||
@journals = current_user.journals
|
||||
data = Array.new
|
||||
@journals.each do |journal|
|
||||
@papers = journal.papers.all
|
||||
data << {"title" => journal.title, "papers" => @papers}
|
||||
end
|
||||
render :json=>data.to_json
|
||||
end
|
||||
|
||||
def delete_journal
|
||||
@journals = Journal.find("")
|
||||
@journals.delete
|
||||
b = Array.new
|
||||
b << {"success"=>"true"}
|
||||
render :json=>b.to_json
|
||||
end
|
||||
|
||||
def update_journal
|
||||
@journal = Journal.find("4ff2d6ebbd98eb02b9000017")
|
||||
@papers = @journal.papers
|
||||
@papers.each do |paper|
|
||||
paper.update_attributes(:user_id => current_user.id)
|
||||
end
|
||||
b = Array.new
|
||||
|
||||
b << {"success"=>"true"}
|
||||
render :json=>b.to_json
|
||||
end
|
||||
# def create_journal
|
||||
# Journal.create(user_id: current_user.id, title: "Ice Cream Sandwich")
|
||||
# b = Array.new
|
||||
# b << {"success"=>"true"}
|
||||
# render :json=>b.to_json
|
||||
# end
|
||||
#
|
||||
#
|
||||
# def delete_journal
|
||||
# @journals = Journal.find("")
|
||||
# @journals.delete
|
||||
# b = Array.new
|
||||
# b << {"success"=>"true"}
|
||||
# render :json=>b.to_json
|
||||
# end
|
||||
#
|
||||
# def update_journal
|
||||
# @journal = Journal.find("4ff2d6ebbd98eb02b9000017")
|
||||
# @papers = @journal.papers
|
||||
# @papers.each do |paper|
|
||||
# paper.update_attributes(:user_id => current_user.id)
|
||||
# end
|
||||
# b = Array.new
|
||||
#
|
||||
# b << {"success"=>"true"}
|
||||
# render :json=>b.to_json
|
||||
# end
|
||||
end
|
||||
@@ -11,7 +11,7 @@ class OrbitBackendController < ApplicationController
|
||||
layout 'new_admin'
|
||||
|
||||
def setup_vars
|
||||
@app_title = controller_path.split('/')[1].singularize
|
||||
@app_title ||= controller_path.split('/')[1].singularize
|
||||
@module_app ||= ModuleApp.first(conditions: {:key => @app_title} )
|
||||
end
|
||||
|
||||
|
||||
Reference in new issue
Block a user