Main Avalanche Network server application. Built with Ruby on Rails.

agents_controller.rb 1.8KB

    class AgentsController < ApplicationController before_action :set_agent_dashboard, only: [:dashboard, :directing_missions, :rewards, :received_reward, :not_received_reward] def dashboard end def directing_missions end def list @users = User.all.where("sign_in_count > ?", 0).where("first_name != ?", "").order('created_at DESC') end def show @user = User.find_by_id(params[:id]) end def rewards if params[:view] == nil || params[:view] == 'recent' @current_rewards = UserReward.where(user: current_user).where(received: nil) elsif params[:view] == 'all' @current_rewards = UserReward.where(user: current_user) elsif params[:view] == 'received' @current_rewards = UserReward.where(user: current_user).where(received: true) elsif params[:view] == 'not_received' @current_rewards = UserReward.where(user: current_user).where(received: false) end end def received_reward user_reward = UserReward.find(params[:id]) user_reward.update(received: true, date_received: Time.now) @analytics.track('Reward received') redirect_to(user_rewards_path(view: 'received'), notice: (t 'reward.marked_as_received')) end def not_received_reward user_reward = UserReward.find(params[:id]) user_reward.update(received: false, date_received: Time.now) @analytics.track('Reward not received') redirect_to(user_rewards_path(view: 'not_received'), notice: (t 'reward.marked_as_not_received')) end private def set_agent_dashboard if user_signed_in? @agent_missions = current_user.mission_agents @directing_missions = Mission.where(owner_id: current_user.id) @rewards = UserReward.where(user_id: current_user.id) else redirect_to(new_user_session_path, alert: (t 'agent.not_logged_in')) end end end