Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
E
esi-table-data
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
esi-data-scrapping
esi-table-data
Commits
48217ad7
Commit
48217ad7
authored
May 30, 2017
by
Vasyl Bodnaruk
Committed by
Andrii Marynets
May 30, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added view and logic for 'view' button
parent
b140af2f
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
114 additions
and
37 deletions
+114
-37
script.js
esi/static/js/script.js
+12
-11
edit_news.html
esi/templates/edit_news.html
+9
-3
list_news.html
esi/templates/list_news.html
+8
-3
view_news.html
esi/templates/view_news.html
+25
-10
news.py
esi/webapp/models/news.py
+3
-0
wp.py
esi/webapp/models/wp.py
+3
-0
urls.py
esi/webapp/urls.py
+4
-3
views.py
esi/webapp/views.py
+50
-7
No files found.
esi/static/js/script.js
View file @
48217ad7
...
...
@@ -116,21 +116,22 @@ $(document).ready(function() {
ajaxPost
(
'/news/'
,
data
);
});
$
(
actionView
).
on
(
'click'
,
function
(
e
)
{
e
.
preventDefault
();
var
data
=
actionData
(
this
);
ajaxPost
(
'/news/'
,
data
);
});
$
(
actionEdit
).
on
(
'click'
,
function
(
e
)
{
e
.
preventDefault
();
var
data
=
actionData
(
this
);
ajaxPost
(
'/news/'
,
data
);
});
//
$(actionView).on('click', function(e) {
//
e.preventDefault();
//
var data = actionData(this);
//
ajaxPost('/news/', data);
//
});
//
//
$(actionEdit).on('click', function(e) {
//
e.preventDefault();
//
var data = actionData(this);
//
ajaxPost('/news/', data);
//
});
$
(
actionDelete
).
on
(
'click'
,
function
(
e
)
{
e
.
preventDefault
();
var
data
=
actionData
(
this
);
console
.
log
(
data
);
ajaxPost
(
'/news/'
,
data
);
});
});
...
...
esi/templates/
single
_news.html
→
esi/templates/
edit
_news.html
View file @
48217ad7
...
...
@@ -7,10 +7,15 @@
<link
rel=
"stylesheet"
href=
"{% static 'css/fastselect.css' %}"
>
{% endblock %}
{% block title %}
<title>
Edit - {{ news.title }}
</title>
{% endblock %}
{% block content %}
<main
class=
"pt-5 pb-5"
>
<div
class=
"container"
>
<form
class=
"form"
>
<form
class=
"form"
method=
"post"
>
{% csrf_token %}
<section
class=
"mb-5"
>
<h2
class=
"offset-1 display-4 mb-5"
>
Add new
</h2>
<!-- Title -->
...
...
@@ -42,7 +47,7 @@
<label
for=
"entity"
class=
"offset-1 col-2 col-form-label"
>
Entity
</label>
<div
class=
"col-6"
>
<input
class=
"form-control form-control-success"
type=
"text"
placeholder=
"Write entity..."
id=
"entity"
name=
"entity"
value=
"{{
company.name
}}"
>
id=
"entity"
name=
"entity"
value=
"{{
news.get_entity
}}"
>
<div
class=
"form-control-feedback"
>
Additional message
</div>
</div>
<!--<div class="col-3">
...
...
@@ -56,8 +61,9 @@
<div
class=
"col-6"
>
<input
type=
"text"
multiple
id=
"radar"
data-url=
"
json/radar.json
"
data-url=
"
{% url 'radar' news.id %}
"
data-load-once=
"true"
class=
"multiselect"
name=
"radar"
/>
...
...
esi/templates/list_news.html
View file @
48217ad7
{% extends "base.html" %}
{% block title %}
<title>
List news
</title>
{% endblock %}
{% block content %}
<nav
class=
"navbar navbar-toggleable-md navbar-light bg-faded"
>
<button
class=
"navbar-toggler"
type=
"button"
data-toggle=
"collapse"
data-target=
"#navbarTogglerDemo01"
...
...
@@ -26,6 +30,7 @@
{% endfor %}
</select>
</div>
<input
type=
"text"
name=
"search"
>
<button
type=
"submit"
class=
"btn btn-success"
>
Filter
</button>
</form>
</div>
...
...
@@ -58,11 +63,11 @@
<tr>
<td>
<span><input
id=
"{{ i.id }}"
class=
"checkbox"
type=
"checkbox"
></span>
<span><a
href=
"{% url '
single
_news' i.id %}"
>
{{ i.title }}
</a></span>
<span><a
href=
"{% url '
edit
_news' i.id %}"
>
{{ i.title }}
</a></span>
<div
class=
"action-block"
>
<a
href=
"
#
"
data-type=
"view"
class=
"action-block-view"
><strong>
View
</strong></a>
<a
href=
"
{% url 'view_news' i.id %}"
target=
"_blank
"
data-type=
"view"
class=
"action-block-view"
><strong>
View
</strong></a>
<span
class=
"divider"
>
|
</span>
<a
href=
"{% url '
single
_news' i.id %}"
data-type=
"edit"
class=
"action-block-edit"
><strong>
Edit
</strong></a>
<a
href=
"{% url '
edit
_news' i.id %}"
data-type=
"edit"
class=
"action-block-edit"
><strong>
Edit
</strong></a>
<span
class=
"divider"
>
|
</span>
<a
href=
"#"
data-type=
"delete"
class=
"action-block-delete"
><strong>
Delete
</strong></a>
</div>
...
...
esi/templates/view_news.html
View file @
48217ad7
{% extends "base.html" %}
{% block title %}
<title>
View - {{ news.title }}
</title>
{% endblock %}
{% block content %}
<div
class=
"container mt-5"
>
<h1>
{{ news.title }}
</h1>
<a
href=
"#"
class=
"btn btn-primary mt-3"
>
Edit
</a>
<form
method=
"post"
>
{% csrf_token %}
<a
href=
"{% url 'edit_news' news.id %}"
class=
"btn btn-primary mt-3"
>
Edit
</a>
<button
class=
"btn btn-primary mt-3"
name=
"delete"
value=
"{{ news.id }}"
>
Delete
</button>
<button
class=
"btn btn-primary mt-3"
name=
"export"
value=
"{{ news.id }}"
>
Export
</button>
</form>
<div
class=
"new-content mt-5"
>
<div
class=
"new-content-field mb-4"
>
<h5
class=
"new-content-title"
>
- NY
</h5>
</div>
<div
class=
"new-content-field mb-4"
>
<h5
class=
"new-content-title"
>
EntityURL
</h5>
<h5
class=
"new-content-title"
>
Description
</h5>
<div
class=
"new-content-description"
>
{{ news.description }}
</div>
</div>
<!--<div class="new-content-field mb-4">-->
<!--<h5 class="new-content-title">Media</h5>-->
<!--<div class="new-content-description">-->
<!--<div>{{ news.get_media }}</div>-->
<!--<a href="{{ news.get_media.url }}">{{ news.get_media.url }}</a>-->
<!--</div>-->
<!--</div>-->
<div
class=
"new-content-field mb-4"
>
<h5
class=
"new-content-title"
>
Media
</h5>
<
div
class=
"new-content-description"
>
<div>
{{ news.get_media }}
</div
>
<a
href=
"#"
>
http://techcrunch.com
</a
>
<
/div
>
<h5
class=
"new-content-title"
>
Media
:
<a
href=
"{{ news.get_media.url }}"
>
{{ news.get_media }}
</a>
</h5>
<
h5
class=
"new-content-title"
>
Type: {{ news.get_type }}
</h5
>
<h5
class=
"new-content-title"
>
Region: {{ news.get_region }}
</h5
>
<h5
class=
"new-content-title"
>
Publish date: {{ news.publish_date }}
</h5
>
<
h5
class=
"new-content-title"
>
Source:
<a
href=
"{{ news.url }}"
>
{{ news.url }}
</a></h5
>
</div>
</div>
</div>
...
...
esi/webapp/models/news.py
View file @
48217ad7
...
...
@@ -30,3 +30,6 @@ class News(models.Model):
def
get_region
(
self
):
return
WpEsiRegion
.
objects
.
get
(
id
=
self
.
region_id
)
def
get_entity
(
self
):
return
WpEsiEntity
.
objects
.
get
(
id
=
self
.
company_id
)
esi/webapp/models/wp.py
View file @
48217ad7
...
...
@@ -102,6 +102,9 @@ class WpEsiEntity(models.Model):
managed
=
False
db_table
=
'wp_esi_entity'
def
__str__
(
self
):
return
self
.
name
class
WpEsiEntityEvaluation
(
models
.
Model
):
entity_id
=
models
.
IntegerField
(
primary_key
=
True
)
...
...
esi/webapp/urls.py
View file @
48217ad7
from
django.conf.urls
import
url
from
.views
import
ListNewsView
,
DetailNewsView
,
ViewNewsView
from
.views
import
ListNewsView
,
EditNewsView
,
ViewNewsView
,
radar
urlpatterns
=
[
url
(
r'^$'
,
ListNewsView
.
as_view
(),
name
=
'list_news'
),
url
(
r'^(?P<id>[0-9]+)$'
,
DetailNewsView
.
as_view
(),
name
=
'single_news'
),
url
(
r'^view/(?P<id>[0-9]+)$'
,
ViewNewsView
.
as_view
(),
name
=
'view_news'
)
url
(
r'^(?P<id>[0-9]+)$'
,
EditNewsView
.
as_view
(),
name
=
'edit_news'
),
url
(
r'^view/(?P<id>[0-9]+)$'
,
ViewNewsView
.
as_view
(),
name
=
'view_news'
),
url
(
r'^radar/(?P<id>[0-9]+)$'
,
radar
,
name
=
'radar'
)
]
\ No newline at end of file
esi/webapp/views.py
View file @
48217ad7
import
json
from
django.shortcuts
import
render
,
redirect
,
reverse
,
HttpResponseRedirect
,
HttpResponse
from
django.views.generic
import
ListView
,
DetailView
,
CreateView
from
django.db.models
import
Q
from
django.http
import
JsonResponse
import
json
from
.models
import
News
,
WpEsiNews
,
WpEsiNewsEntity
,
WpEsiMedia
,
WpEsiEntity
...
...
@@ -13,14 +15,15 @@ class ListNewsView(ListView):
media
=
request
.
GET
.
get
(
'media'
)
from_date
=
request
.
GET
.
get
(
'from_date'
)
to_date
=
request
.
GET
.
get
(
'to_date'
)
search
=
request
.
GET
.
get
(
'search'
)
print
(
from_date
,
to_date
)
news
=
News
.
objects
.
filter
(
is_accepted
=
False
)
.
order_by
(
'-id'
)
#.order_by('record_date')
if
search
:
news
=
news
.
filter
(
Q
(
title__icontains
=
search
)
|
Q
(
description__icontains
=
search
))
if
from_date
:
news
=
news
.
filter
(
record_date__gte
=
from_date
)
print
(
news
)
if
to_date
:
news
=
news
.
filter
(
record_date__lte
=
to_date
)
print
(
news
)
if
media
:
news
=
self
.
_filter_by_media
(
news
,
media
)
media
=
WpEsiMedia
.
objects
.
all
()
...
...
@@ -30,6 +33,7 @@ class ListNewsView(ListView):
def
post
(
self
,
request
,
*
args
,
**
kwargs
):
if
request
.
is_ajax
():
data
=
json
.
loads
(
request
.
body
.
decode
(
'utf-8'
))
print
(
data
)
type_request
=
data
[
'type'
]
ids
=
data
[
'id'
]
if
type_request
in
[
'delete'
,
'deleteAll'
]:
...
...
@@ -53,16 +57,20 @@ class ListNewsView(ListView):
return
news
class
Detail
NewsView
(
DetailView
):
template_name
=
'
single
_news.html'
class
Edit
NewsView
(
DetailView
):
template_name
=
'
edit
_news.html'
def
get
(
self
,
request
,
*
args
,
**
kwargs
):
news
=
News
.
objects
.
get
(
id
=
kwargs
.
get
(
'id'
))
media
=
WpEsiMedia
.
objects
.
all
()
company
=
WpEsiEntity
.
objects
.
get
(
id
=
news
.
company_id
)
return
render
(
request
,
self
.
template_name
,
{
'news'
:
news
,
'media'
:
media
,
'company'
:
company
})
'media'
:
media
})
def
post
(
self
,
request
,
*
args
,
**
kwargs
):
radar
=
request
.
POST
.
get
(
'radar'
)
print
(
radar
)
return
HttpResponseRedirect
(
'/news'
)
class
ViewNewsView
(
DetailView
):
...
...
@@ -74,3 +82,38 @@ class ViewNewsView(DetailView):
return
render
(
request
,
self
.
template_name
,
{
'news'
:
news
})
def
post
(
self
,
request
,
*
args
,
**
kwargs
):
delete_news
=
request
.
POST
.
get
(
'delete'
)
export_news
=
request
.
POST
.
get
(
'export'
)
if
delete_news
:
News
.
objects
.
filter
(
id
=
delete_news
)
.
update
(
is_accepted
=
True
)
return
HttpResponseRedirect
(
reverse
(
'view_news'
,
kwargs
=
{
'id'
:
delete_news
}))
if
export_news
:
news
=
News
.
objects
.
get
(
id
=
export_news
)
esi
=
WpEsiNews
.
objects
.
create
(
title
=
news
.
title
,
description
=
news
.
description
,
url
=
news
.
url
,
media_id
=
news
.
media_id
,
type_id
=
news
.
type_id
,
region_id
=
news
.
region_id
,
post_id
=
news
.
post_id
,
publish_date
=
news
.
publish_date
,
record_date
=
news
.
record_date
)
esi_entity
=
WpEsiNewsEntity
.
objects
.
create
(
news_id
=
esi
.
id
,
entity_id
=
news
.
company_id
)
return
HttpResponseRedirect
(
reverse
(
'view_news'
,
kwargs
=
{
'id'
:
export_news
}))
def
radar
(
request
,
id
):
d
=
[{
"text"
:
"Algeria"
,
"value"
:
"Algeria"
},
{
"text"
:
"Angola"
,
"value"
:
"Angola"
},
{
"text"
:
"Angola"
,
"value"
:
"as"
},
{
"text"
:
"Angola"
,
"value"
:
"dsda"
},
{
"text"
:
"Angola"
,
"value"
:
"aasdadsd"
}]
return
JsonResponse
(
d
,
safe
=
False
)
\ No newline at end of file
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