Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
V
venjob
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
3
Merge Requests
3
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Xuan Trung Le
venjob
Commits
0520750e
Commit
0520750e
authored
Nov 14, 2017
by
Xuan Trung Le
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
download csv file
parent
065a5630
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
101 additions
and
4 deletions
+101
-4
app/assets/javascripts/application.js
+8
-1
app/assets/stylesheets/application.scss
+1
-1
app/controllers/admins/applies_controller.rb
+83
-1
app/views/layouts/_menu.html.erb
+6
-0
app/views/layouts/application.html.erb
+3
-1
No files found.
app/assets/javascripts/application.js
View file @
0520750e
...
@@ -14,10 +14,10 @@
...
@@ -14,10 +14,10 @@
//= require_tree .
//= require_tree .
//= require jquery-3.2.1.min.js
//= require jquery-3.2.1.min.js
//= require bootstrap.min.js
//= require bootstrap.min.js
//= require bootstrap.min.js
//= require bootstrap-datetimepicker.min.js
//= require bootstrap-datetimepicker.min.js
$
(
document
).
ready
(
function
(){
$
(
document
).
ready
(
function
(){
// this function to hide message after 5s
$
(
'.message'
).
delay
(
5000
).
fadeOut
(
'slow'
);
$
(
'.message'
).
delay
(
5000
).
fadeOut
(
'slow'
);
<<<<<<<
a6a6bfc98ed7e35fb9415714f7cf725ec5a0b69a
<<<<<<<
a6a6bfc98ed7e35fb9415714f7cf725ec5a0b69a
$
(
document
).
on
(
'change'
,
'input[name=job_id]'
,
function
(
event
)
{
$
(
document
).
on
(
'change'
,
'input[name=job_id]'
,
function
(
event
)
{
...
@@ -25,6 +25,7 @@ $(document).ready(function(){
...
@@ -25,6 +25,7 @@ $(document).ready(function(){
$
(
'#apply'
).
removeAttr
(
'disabled'
)
$
(
'#apply'
).
removeAttr
(
'disabled'
)
=======
=======
// this function to select date
$
(
'.form_date'
).
datetimepicker
({
$
(
'.form_date'
).
datetimepicker
({
language
:
'en'
,
language
:
'en'
,
weekStart
:
1
,
weekStart
:
1
,
...
@@ -36,4 +37,10 @@ $(document).ready(function(){
...
@@ -36,4 +37,10 @@ $(document).ready(function(){
forceParse
:
0
forceParse
:
0
>>>>>>>
fix
bugs
>>>>>>>
fix
bugs
});
});
// set min-height css for content
windowHeight
=
$
(
document
).
height
();
menuHeight
=
$
(
'.navbar'
).
height
();
footHeight
=
$
(
'.footer'
).
height
();
$
(
'.content'
).
css
(
"min-height"
,
windowHeight
-
(
menuHeight
+
footHeight
))
});
});
app/assets/stylesheets/application.scss
View file @
0520750e
@import
"bootstrap-theme.min.css"
;
@import
"bootstrap-theme.min.css"
;
@import
"bootstrap.min.css"
;
@import
"bootstrap.min.css"
;
@import
"font-awesome.css"
;
@import
"
stylesheets/
font-awesome.css"
;
@import
"bootstrap-datetimepicker.min.css"
;
@import
"bootstrap-datetimepicker.min.css"
;
...
...
app/controllers/admins/applies_controller.rb
View file @
0520750e
require
'rsolr'
require
"csv"
class
Admins
::
AppliesController
<
ApplicationController
class
Admins
::
AppliesController
<
ApplicationController
def
index
def
index
@cities
=
City
.
pluck
(
:id
,
:name
)
@cities
=
City
.
pluck
(
:id
,
:name
)
@applications
=
ApplyJob
.
includes
(
:job
,
:user
)
if
params
[
:commit
]
# get condition here
condition
=
get_condition
# get applications from query
response
=
query
(
condition
)
job_id
=
response
[
"response"
][
"docs"
].
pluck
(
"id"
)
@applications
=
ApplyJob
.
where
(
job_id:
job_id
).
includes
(
:job
,
:user
)
if
params
[
:commit
].
eql?
'Down csv'
flash
[
:notice
]
=
'Down csv'
down_csv
(
@applications
)
end
else
# get applications
@applications
=
ApplyJob
.
includes
(
:job
,
:user
)
end
puts
params
[
:commit
]
end
def
down_csv
(
applications
)
# handle data
data_csv
=
[]
applications
.
each
do
|
application
|
candidate
=
{}
candidate
[
:job
]
=
application
.
job
.
name
candidate
[
:name
]
=
application
.
name
candidate
[
:email
]
=
application
.
email
candidate
[
:cv
]
=
application
.
cv
candidate
[
:applied_at
]
=
application
.
created_at
data_csv
<<
candidate
end
# create new csv file
CSV
.
open
(
"file.csv"
,
"wb"
)
do
|
csv
|
# write header
csv
<<
data_csv
.
first
.
keys
# write values
data_csv
.
each_with_index
do
|
data
,
i
|
csv
<<
data
.
values
end
end
# down file.csv into local
send_file
"
#{
Rails
.
root
}
/file.csv"
,
type:
'application/csv'
end
private
def
connect
url
=
'http://localhost:8983/solr/my_solr_collection'
@solr
=
RSolr
.
connect
url:
url
end
def
query
(
condition
)
# Direct connection
connect
# use get method to query
response
=
@solr
.
get
'select'
,
:params
=>
condition
response
end
def
get_condition
condition
=
{}
filter_query
=
[]
date_from
=
'*'
date_to
=
'NOW'
# get condition
condition
[
:q
]
=
"email:[* TO *]"
filter_query
<<
"email:
\"
#{
params
[
:email
]
}
\"
"
if
params
[
:email
]
filter_query
<<
"city_name:
\"
#{
params
[
:city
]
}
\"
"
unless
params
[
:city
].
blank?
filter_query
<<
"industry:
\"
#{
params
[
:industry
]
}
\"
"
unless
params
[
:industry
].
blank?
# generate condition from params[:date]
date_from
=
"
#{
params
[
:dtp_input1
]
}
T00:00:00Z"
unless
params
[
:dtp_input1
].
blank?
date_to
=
"
#{
params
[
:dtp_input2
]
}
T00:00:00Z"
unless
params
[
:dtp_input2
].
blank?
filter_query
<<
"applied_at:[
#{
date_from
}
TO
#{
date_to
}
]"
condition
[
:fq
]
=
filter_query
condition
end
end
end
end
app/views/layouts/_menu.html.erb
View file @
0520750e
...
@@ -19,6 +19,12 @@
...
@@ -19,6 +19,12 @@
<i
class=
"fa fa-sign-out"
aria-hidden=
"true"
></i>
Logout
<i
class=
"fa fa-sign-out"
aria-hidden=
"true"
></i>
Logout
<%
end
%>
<%
end
%>
</li>
</li>
<%-
elsif
current_admin
-%>
<li>
<%=
link_to
destroy_admin_session_path
,
method: :delete
do
%>
<i
class=
"fa fa-sign-out"
aria-hidden=
"true"
></i>
Logout
<%
end
%>
</li>
<%-
else
-%>
<%-
else
-%>
<li>
<li>
<%=
link_to
new_user_session_path
do
%>
<%=
link_to
new_user_session_path
do
%>
...
...
app/views/layouts/application.html.erb
View file @
0520750e
...
@@ -11,7 +11,9 @@
...
@@ -11,7 +11,9 @@
<body>
<body>
<%=
render
"layouts/menu"
%>
<%=
render
"layouts/menu"
%>
<%=
render
"layouts/flash"
%>
<%=
render
"layouts/flash"
%>
<%=
yield
%>
<div
class=
"content"
>
<%=
yield
%>
</div>
<%=
render
"layouts/footer"
%>
<%=
render
"layouts/footer"
%>
</body>
</body>
</html>
</html>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment