Giter VIP home page Giter VIP logo

######################################################################

Change History

#Date-2013/02/01 #Coder- Shrikant Khandare #Description:

Method:

Details: All functions should be between less than 8 lines.

######################################################################

class Admin::UsersController < ApplicationController respond_to :js, :html, :json #-----------------------------------FILTER-----------------------------------

TODO

#---------------------------------------------------------------------------- before_filter :authenticate_user! before_filter :get_team,:except => [:delete_by_email,:change_manager_by_email, :search, :change_status, :index] before_filter :can_task?,:except => [:delete_by_email,:change_manager_by_email]

def index page = params[:page] || 1 if params[:email] @users = User.search params[:email], page.to_i else @users = User.order("email ASC").paginate(:page => page, :per_page => User::PER_PAGE) end render :layout => "admin" end #----------------------------------------------------------------------------

ADD NEW USER (EXIST OR NOT) TO BE A TEAM MANAGER

If exist user => update action

If new user => create action

Add checking method for every action!

#----------------------------------------------------------------------------

def create flash[:notice]=fail_message if valid_user? @user = User.new(:email=>params[:user][:email],:password=>params[:user][:password]) if @user.save if TeamManagement.new(:user_id =>@user.id,:team_id =>@team.id).save flash[:notice] = success_message end end end redirect_to admin_team_path(@team) end #--------------------------------------------------------------------------

DESCRIPTION

- Set Role user to Manager

- Add Team Manage id to user

#--------------------------------------------------------------------------

def update_by_email user = User.find_by_email(params[:email]) flash[:notice] = fail_message if user if !user.teamsmanage.include?(Team.find(params[:team_id])) && user.role != User.administrator_role #if user.update_attributes(:role => User.manager_role) if TeamManagement.new(:user_id =>user.id, :team_id =>@team.id).save flash[:notice] = success_message end #end end end redirect_to admin_team_path(@team) end #---------------------ADMIN TASK---------------------------------------------

DESCRIPTION

- delete a manager from teammangement

- not update role to normal user evenif this user dont manage any team

- Add filter TODO

#---------------------------------------------------------------------------- def delete_by_email puts params["email"], params["team"] manager = User.find_by_email(params["email"]) manager.team_managements.find_by_team_id(params["team"]).destroy() end #---------------------------------------------------------------------------- def change_manager_by_email new_manager = User.find_by_email(params["new_email"]) team = Team.find(params["team"]) if new_manager if not_admin?(new_manager) && !team.managers.include?(new_manager) if User.find_by_email(params["old_email"]).team_managements.find_by_team_id(params["team"]).destroy() && TeamManagement.create(:user_id => new_manager.id, :team_id => team.id) render :json => {:result => true} return end end end render :json => {:result => false} end

def change_status begin user = User.find(params[:id]) user.update_attribute(:status, User::CHANGE_STATUS[params[:status]]) @status = User::STATUS[user.status] render :json => {:status => user.status, :value => @status} rescue end end private def get_team @team = Team.find(params[:team_id]) end def success_message "Add new Manager successfully" end def fail_message
"Error when add new Team Manager" end def error_message "You don't have enough permission" end def blank_user? params[:user][:email].blank? || params[:user][:password].blank? end def valid_user? if !User.find_by_email(params[:user][:email]) && params[:user][:password] == params[:user][:password_confirm] && !blank_user? puts"valid user" true end end def not_admin?(new_manager) new_manager.role != User.administrator_role end def can_task? if !ApplicationController.is_manager_or_admin(current_user,@team) flash[:error] = error_message redirect_to admin_team_path(@team) end end end

sandeepparhad's Projects

spree icon spree

Spree is a complete open source e-commerce solution for Ruby on Rails.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.