123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- class AdminPanelController < ApplicationController
-
- layout 'admin'
-
- before_filter :authenticate_user
-
- def maintenance_mode
- end
-
- def index
- redirect_to admin_dashboard_path
- end
-
- def dashboard
- @users = User.all
- @posts = BlogPost.all
- @files = Upload.all
- @contact_messages = ContactMessage.all
- @new_messages = @contact_messages.where(:unread => true)
- end
- def posts
- @posts = BlogPost.all
- end
- def contact_messages
- @contact_messages = ContactMessage.order('created_at DESC').to_a
- end
-
- def show_contact_message
- @msg = ContactMessage.find(params[:id])
- end
-
- def subscribers
- @subscribers = Subscription.all
- end
-
- def export_subscribers_list
- @subscribers = Subscription.all
- respond_to do |format|
- format.html
- format.csv { render text: @subscribers.to_csv }
- end
- end
- def users
- @users = User.order('created_at DESC').all
- end
-
- def files
- @uploads = Upload.all
- end
-
- def site_config
- @config = Info.first
- end
-
- def site_config_update
- @config = Info.first
- respond_to do |format|
- if @config.update(info_params)
- format.html { redirect_to admin_config_path, notice: (t 'admin_panel.config_update_success') }
- format.json { head :no_content }
- else
- format.html { render action: 'site_config' }
- format.json { render json: @upload.errors, status: :unprocessable_entity }
- end
- end
- end
-
- def make_admin
- @user = User.find(params[:id])
- if @user.admin == true
- @user.admin = false
- status = "admin_panel.unmake_admin_success"
- else
- @user.admin = true
- status = "admin_panel.make_admin_success"
- end
- respond_to do |format|
- if @user.save
- format.html { redirect_to admin_users_path, notice: (t status) }
- format.json { head :no_content }
- else
- format.html { redirect_to admin_users_path, alert: (t 'admin_panel.make_admin_error') }
- format.json { head :no_content }
- end
- end
- end
-
- private
-
- def info_params
- params.require(:info).permit(:website_name, :website_link, :tagline, :contact_email, :server_email, :default_language, :maintenance_mode, :maintenance_title, :maintenance_message)
- end
-
- def authenticate_user
- redirect_to root_path, alert: (t 'admin_panel.permission_denied') unless current_user && current_user.admin?
- end
-
- end
|