This repository has been archived on 2021-11-24. You can view files and clone it, but cannot push or open issues or pull requests.
phone_app/app/controllers/admin/p_ship_tours_controller.rb
2021-08-23 10:26:02 +02:00

219 lines
4.5 KiB
Ruby

# -*- encoding : utf-8 -*-
class Admin::PShipToursController < ApplicationController
layout "admin"
before_action :auth_admin, :except => [:adr]
before_action :admin_space
def generate_bills
@p_ship_tour = PShipTour.find(params[:id])
@p_ship_tour.generate_bills
redirect_to :back
end
def adr
@p_ship_tour = PShipTour.find(params[:id])
params[:inline] = true
if !params[:html]
doc_number = "tournee-"+params[:id].to_s
url = adr_admin_p_ship_tour_path(:id => params[:id],:html => true)
@temp_file = "#{Rails.root}/pdf/p_documents/ADR-#{doc_number}.pdf"
url = (Rails.env.development? ? "http://localhost:4000" : "http://3p.quartz.xyz").to_s+url
puts url
pdf = "pdfadr"
command = "node #{pdf}.js #{Shellwords.escape(url)} #{Shellwords.escape(@temp_file)}"
puts command
system(command)
@data_to_send = File.open( @temp_file).read
send_data @data_to_send, :filename =>"#{doc_number}.pdf" , :type => 'application/pdf',:disposition => (params[:inline] ? 'inline' : "attachment")
else
render :layout => false
end
end
def to_ship
@p_ship_tour = PShipTour.find(params[:id])
@p_ship_tour.to_ship
redirect_to :back
end
def to_unship
@p_ship_tour = PShipTour.find(params[:id])
@p_ship_tour.to_unship
redirect_to :back
end
def unship_return
@p_ship_tour = PShipTour.find(params[:id])
@p_ship_tour.undone_return
redirect_to :back
end
def ship_return
@p_ship_tour = PShipTour.find(params[:id])
if false
@p_ship_tour.p_ship_tour_trucks.each do |p_ship_tour_truck|
i = 0.0
if p_ship_tour_truck.p_volucompteurs.count == 0
last_volucompteur = PVolucompteur.where(:p_truck_id => p_ship_tour_truck.p_truck_id).order("end_vol DESC").first
i = last_volucompteur.end_vol if last_volucompteur
p_ship_tour_truck.p_volucompteurs.new(:start_vol => i, :p_truck_id => p_ship_tour_truck.p_truck_id) if !p_ship_tour_truck.remorque
end
end
end
end
def ship_return_save
@p_ship_tour = PShipTour.find(params[:id])
#@p_ship_tour.reset_validation
test_var = true
@p_ship_tour.p_ship_tour_trucks.each do |p_ship_tour_truck|
if !p_ship_tour_truck.ok?
test_var = false
break
end
end
if test_var
# @p_ship_tour.p_ship_tour_trucks.each do |p_ship_tour_truck|
# p_ship_tour_truck.p_volucompteurs.each do |p_volucompteur|
# p_volucompteur.check_delta = true
# p_volucompteur.valid?
# end
#end
#render :inline => @p_ship_tour.valid?
# if @p_ship_tour.save
@p_ship_tour.done_return
redirect_to admin_p_ship_tour_path(@p_ship_tour)
# else
# render action: "ship_return"
# end
else
redirect_to ship_return_admin_p_ship_tour_path(@p_ship_tour), :flash => {:error => "Des erreurs empêchent la sauvegarde, vérifier les emplacements rouges."}
end
end
def admin_space
@admin_space = "tournees"
end
def index
@p_ship_tours = PShipTour.order("start_at DESC").all
end
def show
@p_ship_tour = PShipTour.find(params[:id])
end
def new
@p_ship_tour = PShipTour.new(:start_at => Time.now)
PTruck.all.each do |p_truck|
p_ship_tour_truck = PShipTourTruck.new(:p_truck => p_truck)
p_truck.p_truck_spaces.each do |p_truck_space|
p_ship_space = PShipSpace.new(:p_truck_space => p_truck_space)
p_ship_tour_truck.p_ship_spaces << p_ship_space
end
@p_ship_tour.p_ship_tour_trucks << p_ship_tour_truck
end
end
def edit
@p_ship_tour = PShipTour.find(params[:id])
end
def create
@p_ship_tour = PShipTour.new(params.require(:p_ship_tour).permit!)
if @p_ship_tour.save
@p_ship_tours = PShipTour.order("start_at DESC").all
else
render action: "new"
end
end
def update
@p_ship_tour = PShipTour.find(params[:id])
if @p_ship_tour.update_attributes(params.require(:p_ship_tour).permit!)
@p_ship_tours = PShipTour.order("start_at DESC").all
else
render action: "edit"
end
end
def destroy
@p_ship_tour = PShipTour.find(params[:id])
@p_ship_tour.destroy
end
end