Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class PenjualansController < ApplicationController
- def index_master
- file = "status"
- file_opened = File.new( file, 'r')
- status = []
- while (line = file_opened.gets)
- status << line
- end
- @start = status[0]
- @value = status[1]
- if @start == "true\n"
- @penjualans = Penjualan.find(:all,
- :joins => :customer,
- :conditions=>["total < 10000000 and tanggal_transaksi = ? ", Date.today],
- :order => "id DESC")
- if @penjualans.count < cookies[:limit].to_i
- val = @value.to_f / 100.to_f
- val = val * @penjualans.count
- val = val.to_i
- @penjualans = @penjualans[0..val]
- end
- else
- @penjualans = Penjualan.all( :joins => :customer, :conditions => ["tanggal_transaksi = ? ",Date.today] ,:order => "nama_kustomer ASC, id DESC")
- end
- if params[:order].to_s == "id"
- @penjualans = @penjualans.sort do |a,b|
- [b.kode_transaksi] <=> [a.kode_transaksi]
- end
- @kasir = {}
- @total = 0
- @penjualans.each do |dk|
- if not dk.is_returned
- if @kasir.has_key?(dk.user.username)
- @kasir[dk.user.username] += dk.total
- else
- @kasir[dk.user.username] = dk.total
- end
- @total += dk.total
- end
- end
- render "index_id.html.haml"
- end
- if params[:order].to_s == "kasir"
- @penjualans = @penjualans.sort do |a,b|
- [a.user.username,b.kode_transaksi] <=> [b.user.username, a.kode_transaksi]
- end
- @kasir = {}
- @total = 0
- @penjualans.each do |dk|
- if not dk.is_returned
- if @kasir.has_key?(dk.user.username)
- @kasir[dk.user.username] += dk.total
- else
- @kasir[dk.user.username] = dk.total
- end
- @total += dk.total
- end
- end
- render "index_kasir.html.haml"
- end
- if params[:order].to_s == "kustomer"
- @penjualans = @penjualans.sort do |a,b|
- [a.customer.nama_kustomer,b.kode_transaksi] <=> [b.customer.nama_kustomer, a.kode_transaksi]
- end
- @customers = {}
- @total = 0
- @penjualans.each do |p|
- if not p.is_returned
- if @customers.has_key?(p.customer.nama_kustomer)
- @customers[p.customer.nama_kustomer] += p.total
- else
- @customers[p.customer.nama_kustomer] = p.total
- end
- @total += p.total
- end
- end
- render "index_kustomer.html.haml"
- end
- end
- def backup_copy
- @penjualan = Penjualan.find(params[:id])
- @copy = params[:order].nil? ? "barang" : params[:order]
- end
- def system
- if @active_user.username != "supri"
- redirect_to "/home"
- end
- file = "status"
- file_opened = File.new( file, 'r')
- status = []
- while (line = file_opened.gets)
- status << line
- end
- @start = status[0]
- @value = status[1]
- end
- def system_process
- if @active_user.username != "supri"
- redirect_to "/home"
- end
- file = "status"
- content =""
- content = params[:start] == "on" ? "true\n" : "false\n"
- #content << params[:start] == "on" ? "true\n" : "false\n"
- content << params[:value]+"\n"
- print content
- File.open(file, "w+") do |f|
- f.write(content)
- end
- redirect_to "/home"
- end
- def pembelian
- @barangs = Barang.all(:limit => cookies[:limit])
- @barang = Barang.new
- end
- def load_nota_barang_unlimited
- id = params[:barang_id]
- d = DetilPenjualan.find(:all, :conditions => ['barang_id = ? ', id])
- @penjualans = []
- @jumlah_barang = []
- @list = []
- d.each do |dp|
- if not dp.penjualan.nil?
- @list << [dp.penjualan, dp.jumlah]
- end
- end
- @list = @list.sort{ |list_a, list_b| list_a[0].tanggal_transaksi <=> list_b[0].tanggal_transaksi }
- @list = @list.reverse
- render "load_nota_barang.js.erb"
- end
- def load_nota_barang
- id = params[:barang_id]
- d = DetilPenjualan.find(:all, :conditions => ['barang_id = ? ', id])
- @penjualans = []
- @jumlah_barang = []
- @list = []
- d.each do |dp|
- if not dp.penjualan.nil? and dp.penjualan.tanggal_transaksi == Date.today
- @list << [dp.penjualan, dp.jumlah]
- end
- end
- @list = @list.sort{ |list_a, list_b| list_a[0].tanggal_transaksi <=> list_b[0].tanggal_transaksi }
- @list = @list.reverse
- #@penjualans = @penjualans.sort_by(&:tanggal_transaksi).reverse
- #puts @penjualans.to_yaml
- #raise
- # ids = params[:id].split("_")
- # barang_id = params[:barang_id]
- # @penjualans = []
- # @jumlah_barang = []
- # ids.each do |i|
- # p = Penjualan.find(i)
- # p.detil_penjualans.each do |dp|
- # if dp.barang_id.to_s == barang_id.to_s
- # @jumlah_barang << dp.jumlah
- # end
- # end
- # @penjualans << p
- # end
- end
- def index_kustomer
- if DateTime.now < DateTime.now.change(:hour=>17)
- render :text => "ERROR"
- return
- end
- file = "status"
- file_opened = File.new( file, 'r')
- status = []
- while (line = file_opened.gets)
- status << line
- end
- @start = status[0]
- @value = status[1]
- if @start == "true\n"
- @penjualans = Penjualan.find(:all,
- :joins => :customer,
- :conditions=>["total < 10000000 and tanggal_transaksi = ? ", Date.today],
- :order => "nama_kustomer ASC, id DESC")
- if @penjualans.count < cookies[:limit].to_i
- val = @value.to_f / 100.to_f
- val = val * @penjualans.count
- val = val.to_i
- @penjualans = @penjualans[0..val]
- end
- else
- @penjualans = Penjualan.all( :joins => :customer, :conditions => ["tanggal_transaksi = ? ",Date.today] ,:order => "nama_kustomer ASC, id DESC")
- end
- @customers = {}
- @total = 0
- @penjualans.each do |p|
- if @customers.has_key?(p.customer.nama_kustomer)
- @customers[p.customer.nama_kustomer] += p.total
- else
- @customers[p.customer.nama_kustomer] = p.total
- end
- @total += p.total
- end
- respond_to do |format|
- format.html # index.html.erb
- format.json { render json: @penjualans }
- end
- end
- def index_id
- file = "status"
- file_opened = File.new( file, 'r')
- status = []
- while (line = file_opened.gets)
- status << line
- end
- @start = status[0]
- @value = status[1]
- if @start == "true\n"
- @penjualans = Penjualan.find(:all,
- :joins => :user,
- :conditions=>["total < 10000000 and tanggal_transaksi = ? ", Date.today],
- :order => "id DESC")
- if @penjualans.count < cookies[:limit].to_i
- val = @value.to_f / 100.to_f
- val = val * @penjualans.count
- val = val.to_i
- @penjualans = @penjualans[0..val]
- end
- else
- @penjualans = Penjualan.all( :joins => :user, :conditions => ["tanggal_transaksi = ? ",Date.today] ,:order => "username ASC, id DESC")
- end
- @kasir = {}
- @total = 0
- @penjualans.each do |dk|
- if @kasir.has_key?(dk.user.username)
- @kasir[dk.user.username] += dk.total
- else
- @kasir[dk.user.username] = dk.total
- end
- @total += dk.total
- end
- respond_to do |format|
- format.html # index.html.erb
- format.json { render json: @penjualans }
- end
- end
- def index_kasir
- file = "status"
- file_opened = File.new( file, 'r')
- status = []
- while (line = file_opened.gets)
- status << line
- end
- @start = status[0]
- @value = status[1]
- if @start == "true\n"
- @penjualans = Penjualan.find(:all,
- :joins => :user,
- :conditions=>["total < 10000000 and tanggal_transaksi = ? ", Date.today],
- :order => "username ASC, id DESC")
- if @penjualans.count < cookies[:limit].to_i
- val = @value.to_f / 100.to_f
- val = val * @penjualans.count
- val = val.to_i
- @penjualans = @penjualans[0..val]
- end
- else
- @penjualans = Penjualan.all( :joins => :user, :conditions => ["tanggal_transaksi = ? ",Date.today] ,:order => "username ASC, id DESC")
- end
- @kasir = {}
- @total = 0
- @penjualans.each do |dk|
- if @kasir.has_key?(dk.user.username)
- @kasir[dk.user.username] += dk.total
- else
- @kasir[dk.user.username] = dk.total
- end
- @total += dk.total
- end
- respond_to do |format|
- format.html # index.html.erb
- format.json { render json: @penjualans }
- end
- end
- def index_barang
- penjualans = Penjualan.find(:all, :conditions => ["tanggal_transaksi = ?", Date.today])
- @barangs = {}
- @barang_id = {}
- penjualans.each do |p|
- p.detil_penjualans.each do |dp|
- if @barangs.has_key? (dp.barang.nama_barang)
- @barangs[dp.barang.nama_barang] << p.id
- else
- @barangs[dp.barang.nama_barang] = []
- @barangs[dp.barang.nama_barang] << p.id
- @barang_id[dp.barang.nama_barang] = []
- @barang_id[dp.barang.nama_barang] << dp.barang.id
- end
- end
- end
- @barangs = Hash[@barangs.sort]
- @barang_id = Hash[@barang_id.sort]
- ##eliminate duplicate
- @barangs.each do |b|
- b = b.uniq
- end
- end
- def show_index_barang_unlimited
- end
- def index_barang_unlimited
- #puts params.to_yaml
- #startdate = Date.new(params["penjualan"]["startdate(1i)"].to_i, params["penjualan"]["startdate(2i)"].to_i,params["penjualan"]["startdate(3i)"].to_i)
- #enddate = Date.new(params["penjualan"]["enddate(1i)"].to_i, params["penjualan"]["enddate(2i)"].to_i,params["penjualan"]["enddate(3i)"].to_i)
- #raise
- #penjualans = Penjualan.find(:all, :conditions=>["tanggal_transaksi between ? and ? " ,startdate,enddate])
- #@barangs = {}
- #@barang_id = {}
- #penjualans.each do |p|
- #p.detil_penjualans.each do |dp|
- #if @barangs.has_key? (dp.barang.nama_barang)
- #@barangs[dp.barang.nama_barang] << p.id
- #else
- #@barangs[dp.barang.nama_barang] = []
- #@barangs[dp.barang.nama_barang] << p.id
- #@barang_id[dp.barang.nama_barang] = []
- #@barang_id[dp.barang.nama_barang] << dp.barang.id
- #end
- #end
- #end
- #@barangs = Hash[@barangs.sort]
- #@barang_id = Hash[@barang_id.sort]
- ##eliminate duplicate
- #@barangs.each do |b|
- # b = b.uniq
- #end
- end
- # GET /penjualans
- # GET /penjualans.json
- def index
- file = "status"
- file_opened = File.new( file, 'r')
- status = []
- while (line = file_opened.gets)
- status << line
- end
- @start = status[0]
- @value = status[1]
- if @start == "true\n"
- @penjualans = Penjualan.find(:all, :conditions=>["total < 10000000"] ,:limit=>1000,:order => "id desc")
- if @penjualans.count < cookies[:limit].to_i
- val = @value.to_f / 100.to_f
- val = val * @penjualans.count
- val = val.to_i
- @penjualans = @penjualans[0..val]
- end
- else
- @penjualans = Penjualan.all(:limit=>1000,:order => "id desc")
- end
- data_kasir = Penjualan.find(:all, :conditions=>["tanggal_transaksi = ?", Date.today])
- @kasir = {}
- @total = 0
- data_kasir.each do |dk|
- if @kasir.has_key?(dk.user.username)
- @kasir[dk.user.username] += dk.total
- else
- @kasir[dk.user.username] = dk.total
- end
- @total += dk.total
- end
- respond_to do |format|
- format.html # index.html.erb
- format.json { render json: @penjualans }
- end
- end
- def retur
- end
- def proses_retur
- @penjualan = Penjualan.find_by_kode_transaksi(params[:kode])
- if @penjualan.is_returned?
- flash[:error] = "Transaksi SUDAH di retur"
- flash.keep(:error)
- redirect_to :action => "retur"
- else
- Penjualan.transaction do
- @penjualan.is_returned = true
- @detil_penjualans = @penjualan.detil_penjualans
- @detil_penjualans.each do |d|
- barang = Barang.find(d.barang_id)
- barang.quantity += d.jumlah
- barang.save
- end
- @penjualan.save
- flash[:notice] = "Transaksi telah berhasil di retur"
- #flash.keep(:notice)
- redirect_to :action => "retur"
- end
- end
- end
- def report_limited
- if DateTime.now < DateTime.now.change(:hour=>17) && DateTime.now > DateTime.now.change(:hour=>8)
- flash[:notice] = "Error"
- flash.keep(:notice)
- render "report_fail.html.haml"
- else
- file = "status"
- file_opened = File.new( file, 'r')
- status = []
- while (line = file_opened.gets)
- status << line
- end
- @start = status[0]
- @value = status[1]
- respond_to do |format|
- format.html # index.html.erb
- format.pdf do
- startdate = Date.today
- if DateTime.now < DateTime.now.change(:hour=>8)
- startdate -= 1.day
- end
- if @start == "true\n"
- @penjualans = Penjualan.find(:all,:order => "id", :conditions=>["tanggal_transaksi = ? and total < 10000000" ,startdate])
- val = @value.to_f / 100.to_f
- val = val * @penjualans.count
- val = val.to_i
- @penjualans = @penjualans[0..val]
- else
- @penjualans = Penjualan.find(:all,:order => "id", :conditions=>["tanggal_transaksi = ?" ,startdate])
- render "report_limited.pdf.prawn"
- end
- end
- end
- end
- end
- def report
- file = "status"
- file_opened = File.new( file, 'r')
- status = []
- while (line = file_opened.gets)
- status << line
- end
- @start = status[0]
- @value = status[1]
- respond_to do |format|
- format.html # index.html.erb
- format.csv do
- startdate = Date.new(params["penjualan"]["startdate(1i)"].to_i, params["penjualan"]["startdate(2i)"].to_i,params["penjualan"]["startdate(3i)"].to_i)
- enddate = Date.new(params["penjualan"]["enddate(1i)"].to_i, params["penjualan"]["enddate(2i)"].to_i,params["penjualan"]["enddate(3i)"].to_i)
- if @start == "true\n"
- @penjualans = Penjualan.find(:all,:order => "id", :conditions=>["tanggal_transaksi between ? and ? and total < 10000000" ,startdate,enddate])
- val = @value.to_f / 100.to_f
- val = val * @penjualans.count
- val = val.to_i
- @penjualans = @penjualans[0..val]
- else
- @penjualans = Penjualan.find(:all,:order => "id", :conditions=>["tanggal_transaksi between ? and ?" ,startdate,enddate])
- end
- generate_csv_headers("Laporan Penjualan #{startdate} - #{enddate}.csv")
- end
- format.pdf do
- startdate = Date.new(params["penjualan"]["startdate(1i)"].to_i, params["penjualan"]["startdate(2i)"].to_i,params["penjualan"]["startdate(3i)"].to_i)
- enddate = Date.new(params["penjualan"]["enddate(1i)"].to_i, params["penjualan"]["enddate(2i)"].to_i,params["penjualan"]["enddate(3i)"].to_i)
- if @start == "true\n"
- @penjualans = Penjualan.find(:all,:order => "id", :conditions=>["tanggal_transaksi between ? and ? and total < 10000000" ,startdate,enddate])
- val = @value.to_f / 100.to_f
- val = val * @penjualans.count
- val = val.to_i
- @penjualans = @penjualans[0..val]
- else
- @penjualans = Penjualan.find(:all,:order => "id", :conditions=>["tanggal_transaksi between ? and ?" ,startdate,enddate])
- end
- end
- end
- end
- def report_retur
- respond_to do |format|
- format.html # index.html.erb
- format.csv do
- startdate = Date.new(params["penjualan"]["startdate(1i)"].to_i, params["penjualan"]["startdate(2i)"].to_i,params["penjualan"]["startdate(3i)"].to_i)
- enddate = Date.new(params["penjualan"]["enddate(1i)"].to_i, params["penjualan"]["enddate(2i)"].to_i,params["penjualan"]["enddate(3i)"].to_i)
- @penjualans = Penjualan.find(:all, :conditions=>["is_returned = ? and tanggal_transaksi between ? and ?" ,true,startdate,enddate])
- generate_csv_headers("Laporan Retur #{startdate} - #{enddate}.csv")
- end
- format.pdf do
- startdate = Date.new(params["penjualan"]["startdate(1i)"].to_i, params["penjualan"]["startdate(2i)"].to_i,params["penjualan"]["startdate(3i)"].to_i)
- enddate = Date.new(params["penjualan"]["enddate(1i)"].to_i, params["penjualan"]["enddate(2i)"].to_i,params["penjualan"]["enddate(3i)"].to_i)
- @penjualans = Penjualan.find(:all, :conditions=>["is_returned = ? and tanggal_transaksi between ? and ?" ,true, startdate,enddate])
- end
- end
- end
- def report_rugilaba
- file = "status"
- file_opened = File.new( file, 'r')
- status = []
- while (line = file_opened.gets)
- status << line
- end
- @start = status[0]
- @value = status[1]
- respond_to do |format|
- format.html # index.html.erb
- format.csv do
- startdate = Date.new(params["penjualan"]["startdate(1i)"].to_i, params["penjualan"]["startdate(2i)"].to_i,params["penjualan"]["startdate(3i)"].to_i)
- enddate = Date.new(params["penjualan"]["enddate(1i)"].to_i, params["penjualan"]["enddate(2i)"].to_i,params["penjualan"]["enddate(3i)"].to_i)
- if @start == "true\n"
- @penjualans = Penjualan.find(:all, :order => "id", :conditions=>["tanggal_transaksi between ? and ? and total < 10000000" ,startdate,enddate])
- val = @value.to_f / 100.to_f
- val = val * @penjualans.count
- val = val.to_i
- @penjualans = @penjualans[0..val]
- else
- @penjualans = Penjualan.find(:all,:order => "id", :conditions=>["tanggal_transaksi between ? and ?" ,startdate,enddate])
- end
- generate_csv_headers("Laporan Rugi Laba #{startdate} - #{enddate}.csv")
- end
- format.pdf do
- startdate = Date.new(params["penjualan"]["startdate(1i)"].to_i, params["penjualan"]["startdate(2i)"].to_i,params["penjualan"]["startdate(3i)"].to_i)
- enddate = Date.new(params["penjualan"]["enddate(1i)"].to_i, params["penjualan"]["enddate(2i)"].to_i,params["penjualan"]["enddate(3i)"].to_i)
- if @start == "true\n"
- @penjualans = Penjualan.find(:all, :order => "id", :conditions=>["tanggal_transaksi between ? and ? and total < 10000000" ,startdate,enddate])
- val = @value.to_f / 100.to_f
- val = val * @penjualans.count
- val = val.to_i
- @penjualans = @penjualans[0..val]
- else
- @penjualans = Penjualan.find(:all, :order => "id", :conditions=>["tanggal_transaksi between ? and ?" ,startdate,enddate])
- end
- end
- end
- end
- def report_piutang
- respond_to do |format|
- format.html # index.html.erb
- format.csv do
- startdate = Date.new(params["penjualan"]["startdate(1i)"].to_i, params["penjualan"]["startdate(2i)"].to_i,params["penjualan"]["startdate(3i)"].to_i)
- enddate = Date.new(params["penjualan"]["enddate(1i)"].to_i, params["penjualan"]["enddate(2i)"].to_i,params["penjualan"]["enddate(3i)"].to_i)
- @penjualans = Penjualan.find(:all, :conditions=>["status_pembayaran = ? AND tanggal_transaksi between ? and ?" ,"HUTANG", startdate,enddate])
- generate_csv_headers("Laporan Piutang #{startdate} - #{enddate}.csv")
- end
- format.pdf do
- startdate = Date.new(params["penjualan"]["startdate(1i)"].to_i, params["penjualan"]["startdate(2i)"].to_i,params["penjualan"]["startdate(3i)"].to_i)
- enddate = Date.new(params["penjualan"]["enddate(1i)"].to_i, params["penjualan"]["enddate(2i)"].to_i,params["penjualan"]["enddate(3i)"].to_i)
- @penjualans = Penjualan.find(:all, :conditions=>["status_pembayaran = ? AND tanggal_transaksi between ? and ?" ,"HUTANG", startdate,enddate])
- end
- end
- end
- # GET /penjualans/1
- # GET /penjualans/1.json
- def show
- @penjualan = Penjualan.find(params[:id])
- @copy = "Customer"
- respond_to do |format|
- format.html # show.html.erb
- format.json { render json: @penjualan }
- end
- end
- def show_backup
- @penjualan = Penjualan.find(params[:id])
- @copy = "Backup"
- render 'show.html.haml'
- end
- def show_merchant
- @penjualan = Penjualan.find(params[:id])
- @copy = "Merchant"
- render 'show.html.haml'
- end
- # GET /penjualans/new
- # GET /penjualans/new.json
- def new
- @penjualan = Penjualan.new
- @penjualan.kode_transaksi = "J"+ DateTime.now.strftime("%d%m%Y%H%M%S")+@active_user.id.to_s
- @customers = Customer.all(:limit => cookies[:limit], :order=>:kode_kustomer )
- @barangs = Barang.all(:limit => cookies[:limit] )
- respond_to do |format|
- format.html # new.html.erb
- format.json { render json: @penjualan }
- end
- end
- # GET /penjualans/1/edit
- def edit
- @penjualan = Penjualan.find(params[:id])
- end
- # POST /penjualans
- # POST /penjualans.json
- def create
- Penjualan.transaction do
- @penjualan = Penjualan.new(params[:penjualan])
- @penjualan.user_id = @active_user.id
- @penjualan.ongkos = params[:ongkos]
- @penjualan.total_diskon = params[:total_discount]
- @penjualan.total = params[:grand_total]
- @penjualan.cash_total = params[:cash_total]
- @penjualan.kembali = params[:kembali]
- @penjualan.is_returned = false
- #check if it cash
- if params[:status_pembayaran] == "cash" || params[:status_pembayaran] == "kartu_kredit" || params[:status_pembayaran] == "kartu_debit"
- @penjualan.tanggal_bayar = DateTime.now
- @penjualan.status_pembayaran = "Cash"
- if params[:status_pembayaran] == "kartu_kredit"
- @penjualan.status_pembayaran = "Kartu Kredit"
- end
- if params[:status_pembayaran] == "kartu_debit"
- @penjualan.status_pembayaran = "Kartu Debit"
- end
- else
- @penjualan.status_pembayaran = "HUTANG"
- end
- respond_to do |format|
- if @penjualan.save
- detil_penjualan = []
- #make detil penjualan first
- params[:barang].keys.each do |key|
- temp = DetilPenjualan.new
- temp.barang_id = params[:barang][key][:barang_id]
- temp.jumlah = params[:barang][key][:qty]
- temp.total = params[:barang][key][:total]
- temp.discount = params[:barang][key][:disc]
- temp.tambahan = params[:barang][key][:tambahan]
- temp.kode_mesin = params[:barang][key][:kode_mesin]
- temp.save
- tempbarang = temp.barang
- tempbarang.quantity -= temp.jumlah
- tempbarang.save
- detil_penjualan << temp
- end
- @penjualan.detil_penjualans = detil_penjualan
- @penjualan.save
- format.html { redirect_to @penjualan }
- format.json { render json: @penjualan, status: :created, location: @penjualan }
- else
- @penjualan = Penjualan.find_by_kode_transaksi(@penjualan.kode_transaksi)
- if @penjualan.nil?
- @penjualan = Penjualan.new
- @penjualan.kode_transaksi = "J"+ DateTime.now.strftime("%d%m%Y%H%M%S")
- @customers = Customer.all(:limit => cookies[:limit], :order=>:kode_kustomer )
- @barangs = Barang.all(:limit => cookies[:limit] )
- format.html { render action: "new" }
- format.json { render json: @penjualan.errors, status: :unprocessable_entity }
- else
- format.html { redirect_to @penjualan }
- format.json { render json: @penjualan, status: :created, location: @penjualan }
- end
- end
- end
- end
- end
- # PUT /penjualans/1
- # PUT /penjualans/1.json
- def update
- @penjualan = Penjualan.find(params[:id])
- respond_to do |format|
- if @penjualan.update_attributes(params[:penjualan])
- format.html { redirect_to @penjualan, notice: 'Penjualan was successfully updated.' }
- format.json { head :no_content }
- else
- format.html { render action: "edit" }
- format.json { render json: @penjualan.errors, status: :unprocessable_entity }
- end
- end
- end
- # DELETE /penjualans/1
- # DELETE /penjualans/1.json
- def destroy
- Penjualan.transaction do
- @penjualan = Penjualan.find(params[:id])
- @detil_penjualans = @penjualan.detil_penjualans
- @detil_penjualans.each do |detil_penjualan|
- detil_penjualan.destroy
- end
- @penjualan.destroy
- respond_to do |format|
- flash[:notice] = 'Transaksi telah dihapus'
- flash.keep(:notice)
- format.html { redirect_to :action => "index" }
- format.json { head :no_content }
- end
- end
- end
- def load_details
- p = Penjualan.find(params[:id])
- @detil_penjualans = p.detil_penjualans
- @is_returned = p.is_returned
- @ongkir = p.ongkos.to_i
- end
- def load_details_kode
- p = Penjualan.find(:all, :conditions => [ 'kode_transaksi = ? ', params[:kode]]).first
- @detil_penjualans = p.detil_penjualans
- @is_returned = p.is_returned
- render "load_details"
- end
- def search
- q = params[:query]
- if q == "_"
- @detil_penjualans = Penjualan.all(:limit=>100)
- else
- @detil_penjualans = Penjualan.search_for(q)
- end
- end
- def pelunasan
- @penjualans = Penjualan.find(:all, :limit=>cookies[:limit], :conditions=>["status_pembayaran = ?", "HUTANG"])
- end
- def search_pelunasan
- q = params[:query]
- if q == "_"
- @detil_penjualans = Penjualan.all(:limit=>100, :conditions=>["status_pembayaran = ?", "HUTANG"])
- else
- @detil_penjualans = Penjualan.search_for(q, :conditions=>["status_pembayaran = ?", "HUTANG"])
- temp = @detil_penjualans[0..99]
- res = []
- temp.each do |t|
- if t.status_pembayaran == "HUTANG"
- res << t
- end
- end
- @detil_penjualans = res
- end
- end
- def proses_pelunasan
- @penjualan = Penjualan.find(params[:id])
- @penjualan.status_pembayaran = "LUNAS"
- if @penjualan.save
- flash[:notice] = 'Pelunasan Transaksi Sukses'
- flash.keep(:notice)
- redirect_to :action=> "pelunasan"
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment