Friends, have you passed through this?
What would be the solution?
Debug:
[info] GET /relatorios
[debug] Processing with GcallWeb.EcdrController.index/2
Parameters: %{}
Pipelines: [:browser]
[debug] QUERY OK source="cdr" db=12.8ms
SELECT count('*') FROM `cdr` AS c0 []
[debug] QUERY OK source="cdr" db=0.3ms
SELECT c0.`calldate`, c0.`accountcode`, c0.`amaflags`, c0.`billsec`, c0.`channel`, c0.`clid`, c0.`dcontext`, c0.`disposition`, c0.`dst`, c0.`dstchannel`, c0.`duration`, c0.`lastapp`, c0.`lastdata`, c0.`src`, c0.`uniqueid`, c0.`userfield` FROM `cdr` AS c0 ORDER BY c0.`calldate` DESC LIMIT ? OFFSET ? [10, 0]
[debug] QUERY OK source="cdr" db=0.1ms
SELECT count('*') FROM `cdr` AS c0 WHERE (c0.`calldate` BETWEEN ? AND ?) [nil, nil]
[debug] QUERY OK source="cdr" db=0.2ms
SELECT c0.`calldate`, c0.`accountcode`, c0.`amaflags`, c0.`billsec`, c0.`channel`, c0.`clid`, c0.`dcontext`, c0.`disposition`, c0.`dst`, c0.`dstchannel`, c0.`duration`, c0.`lastapp`, c0.`lastdata`, c0.`src`, c0.`uniqueid`, c0.`userfield` FROM `cdr` AS c0 WHERE (c0.`calldate` BETWEEN ? AND ?) ORDER BY c0.`calldate` DESC LIMIT ? OFFSET ? [nil, nil, 10, 0]
[info] Sent 500 in 24ms
[error] #PID<0.1447.0> running GcallWeb.Endpoint (connection #PID<0.1445.0>, stream id 1) terminated
Server: localhost:4000 (http)
Request: GET /relatorios
** (exit) an exception was raised:
** (ArgumentError) no function clause for GcallWeb.Router.Helpers.ecdr_path/2 and action :filter_cdr. The following actions/clauses are supported:
ecdr_path(conn_or_endpoint, :create, params \\ [])
ecdr_path(conn_or_endpoint, :delete, id, params \\ [])
ecdr_path(conn_or_endpoint, :edit, id, params \\ [])
ecdr_path(conn_or_endpoint, :filter_ecdr, params \\ [])
ecdr_path(conn_or_endpoint, :index, params \\ [])
ecdr_path(conn_or_endpoint, :new, params \\ [])
ecdr_path(conn_or_endpoint, :show, id, params \\ [])
ecdr_path(conn_or_endpoint, :update, id, params \\ [])
(phoenix) lib/phoenix/router/helpers.ex:343: Phoenix.Router.Helpers.raise_route_error/6
(gcall) lib/gcall_web/templates/ecdr/filter.html.eex:1: GcallWeb.EcdrView."filter.html"/1
(gcall) lib/gcall_web/templates/ecdr/index.html.eex:3: GcallWeb.EcdrView."index.html"/1
(gcall) lib/gcall_web/templates/layout/app.html.eex:21: GcallWeb.LayoutView."app.html"/1
(phoenix) lib/phoenix/view.ex:399: Phoenix.View.render_to_iodata/3
(phoenix) lib/phoenix/controller.ex:729: Phoenix.Controller.__put_render__/5
(phoenix) lib/phoenix/controller.ex:746: Phoenix.Controller.instrument_render_and_send/4
(gcall) lib/gcall_web/controllers/ecdr_controller.ex:1: GcallWeb.EcdrController.action/2
(gcall) lib/gcall_web/controllers/ecdr_controller.ex:1: GcallWeb.EcdrController.phoenix_controller_pipeline/2
(gcall) lib/gcall_web/endpoint.ex:1: GcallWeb.Endpoint.instrument/4
(phoenix) lib/phoenix/router.ex:275: Phoenix.Router.__call__/1
(gcall) lib/gcall_web/endpoint.ex:1: GcallWeb.Endpoint.plug_builder_call/2
(gcall) lib/plug/debugger.ex:122: GcallWeb.Endpoint."call (overridable 3)"/2
(gcall) lib/gcall_web/endpoint.ex:1: GcallWeb.Endpoint.call/2
(phoenix) lib/phoenix/endpoint/cowboy2_handler.ex:33: Phoenix.Endpoint.Cowboy2Handler.init/2
(cowboy) /home/gilberto/Projetos/elixir/gcall/deps/cowboy/src/cowboy_handler.erl:41: :cowboy_handler.execute/2
(cowboy) /home/gilberto/Projetos/elixir/gcall/deps/cowboy/src/cowboy_stream_h.erl:296: :cowboy_stream_h.execute/3
(cowboy) /home/gilberto/Projetos/elixir/gcall/deps/cowboy/src/cowboy_stream_h.erl:274: :cowboy_stream_h.request_process/3
(stdlib) proc_lib.erl:249: :proc_lib.init_p_do_apply/3
[info] Replied phoenix:live_reload :ok
Route:
get "/relatorios", EcdrController, :filter_ecdr
Controller:
def filter_cdr(conn, params) do
cdr = Structure.list_cdr()
page = Structure.list_cdr
|> order_by([c], desc: c.calldate)
|> Repo.paginate(params)
date_start = get_in(params, ["date_start"])
date_end = get_in(params, ["date_end"])
filter = Structure.list_cdr()
|> where([c], fragment("? BETWEEN ? AND ?", c.calldate, ^date_start, ^date_end))
|> order_by([c], desc: c.calldate)
|> Repo.paginate(params)
render(conn, "index.html", cdr: page.entries, page: page, page: filter)
end