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
893da6cd
Commit
893da6cd
authored
Jun 06, 2017
by
Vasyl Bodnaruk
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix bug in Add news functionality
add menu
parent
db641388
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
256 additions
and
15 deletions
+256
-15
add_news.html
esi/templates/add_news.html
+209
-0
base.html
esi/templates/base.html
+13
-0
list_news.html
esi/templates/list_news.html
+3
-3
autocomplete.py
esi/webapp/autocomplete.py
+3
-1
forms.py
esi/webapp/forms.py
+11
-2
urls.py
esi/webapp/urls.py
+2
-2
views.py
esi/webapp/views.py
+15
-7
No files found.
esi/templates/add_news.html
0 → 100644
View file @
893da6cd
{% extends "base.html" %}
{% load static %}
{% block style %}
<link
rel=
"stylesheet"
href=
"https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/css/bootstrap-datepicker3.min.css"
>
<link
rel=
"stylesheet"
href=
"{% static 'css/fastselect.css' %}"
>
{% endblock %}
{% block title %}
<title>
Add news
</title>
{% endblock %}
{% block content %}
<main
class=
"pt-2 pb-5"
>
<div
class=
"container"
>
<form
class=
"form"
method=
"post"
>
{% csrf_token %}
<section
class=
"mb-5"
>
<h5
class=
"offset-1 display-5 mb-2"
>
Add
</h5>
<!-- Title -->
<div
class=
"form-group row"
>
<label
for=
"title"
class=
"offset-1 col-2 col-form-label"
>
Title
</label>
<div
class=
"col-6"
>
<input
class=
"form-control"
type=
"text"
placeholder=
"Some title..."
id=
"title"
name=
"title"
>
<!--<input type="hidden" name="news_id" value="{{ news.id }}">-->
</div>
</div>
<!-- Description -->
<div
class=
"form-group row"
>
<label
for=
"description"
class=
"offset-1 col-2 col-form-label"
>
Description
</label>
<div
class=
"col-6"
>
<textarea
class=
"form-control"
type=
"text"
placeholder=
"Some description..."
id=
"description"
name=
"description"
rows=
"7"
></textarea>
</div>
</div>
<!-- Url -->
<div
class=
"form-group row"
>
<label
for=
"url"
class=
"offset-1 col-2 col-form-label"
>
Url
</label>
<div
class=
"col-6"
>
<input
class=
"form-control"
type=
"text"
placeholder=
"Some url..."
id=
"url"
name=
"url"
>
</div>
</div>
<!-- Entity -->
<div
class=
"form-group row has-success"
>
<label
for=
"entity"
class=
"offset-1 col-2 col-form-label"
>
Entity
</label>
<div
class=
"col-6"
>
<input
type=
"text"
id=
"entity"
data-url=
"{% url 'auto' slug='entity' %}"
data-load-once=
"true"
class=
"multiselect singleInputDynamic"
name=
"entity"
/>
<div
class=
"form-control-feedback"
>
Select company from list
</div>
</div>
<!--<div class="col-3">
<button class="btn btn-primary">Add entity</button>
</div>-->
</div>
<!-- Radar -->
<div
class=
"form-group row"
>
<label
for=
"radar"
class=
"offset-1 col-2 col-form-label"
>
Radar
</label>
<div
class=
"col-6"
>
<input
type=
"text"
id=
"radar"
data-url=
"{% url 'auto' slug='radar' %}"
data-load-once=
"true"
class=
"multiselect singleInputDynamic"
name=
"radar"
/>
</div>
</div>
<!-- Industry -->
<div
class=
"form-group row"
>
<label
for=
"industry"
class=
"offset-1 col-2 col-form-label"
>
Industry
</label>
<div
class=
"col-6"
>
<input
type=
"text"
id=
"industry"
class=
"multiselect"
data-url=
"{% url 'auto' slug='industry' %}"
data-load-once=
"true"
name=
"industry"
/>
</div>
</div>
<!-- Function -->
<div
class=
"form-group row"
>
<label
for=
"function"
class=
"offset-1 col-2 col-form-label"
>
Function
</label>
<div
class=
"col-6"
>
<input
type=
"text"
id=
"function"
class=
"multiselect"
data-url=
"{% url 'auto' slug='function' %}"
data-load-once=
"true"
name=
"function"
/>
</div>
</div>
<!-- Media -->
<div
class=
"form-group row"
>
<label
for=
"media"
class=
"offset-1 col-2 col-form-label"
>
Media
</label>
<div
class=
"col-6"
>
<div
class=
"row"
>
<div
class=
"col-12"
>
<input
type=
"text"
id=
"media"
class=
"multiselect"
data-url=
"{% url 'auto' slug='media' %}"
data-load-once=
"true"
name=
"media"
/>
</div>
<!--<div class="col-3">
<button class="btn btn-primary">Add media</button>
</div>-->
</div>
</div>
</div>
<!-- Technology -->
<div
class=
"form-group row"
>
<label
for=
"technology"
class=
"offset-1 col-2 col-form-label"
>
Technology
</label>
<div
class=
"col-6"
>
<input
type=
"text"
id=
"technology"
class=
"multiselect"
data-url=
"{% url 'auto' slug='technology' %}"
data-load-once=
"true"
name=
"technology"
/>
</div>
</div>
<!-- Type -->
<div
class=
"form-group row"
>
<label
for=
"type"
class=
"offset-1 col-2 col-form-label"
>
Type
</label>
<div
class=
"col-3"
>
<input
type=
"text"
id=
"type"
class=
"multiselect"
data-url=
"{% url 'auto' slug='type' %}"
data-load-once=
"true"
name=
"type"
/>
</div>
</div>
<!-- Region -->
<div
class=
"form-group row"
>
<label
for=
"region"
class=
"offset-1 col-2 col-form-label"
>
Region
</label>
<div
class=
"col-3"
>
<input
type=
"text"
id=
"region"
class=
"multiselect"
data-url=
"{% url 'auto' slug='region' %}"
data-load-once=
"true"
name=
"region"
/>
</div>
</div>
<!-- Publish Date -->
<div
class=
"form-group row"
>
<label
for=
"publish-date"
class=
"offset-1 col-2 col-form-label"
>
Publish Date
</label>
<div
class=
"col-3"
>
<input
type=
"date"
class=
"form-control"
placeholder=
"Choose a date"
name=
"date"
>
</div>
</div>
<!-- Tag -->
<div
class=
"form-group row"
>
<label
for=
"tag"
class=
"offset-1 col-2 col-form-label"
>
Tag
</label>
<div
class=
"col-6"
>
<input
type=
"text"
multiple
id=
"tag"
class=
"multiselect"
data-url=
"{% url 'auto' slug='tags' %}"
data-load-once=
"true"
name=
"tags"
/>
</div>
</div>
<!-- Submit -->
<div
class=
"form-group row"
>
<div
class=
"offset-8 col-2 pull-right"
>
<a
class=
"form-control btn btn-danger"
href=
"/news"
>
Cancel
</a>
</div>
<div
class=
"col-2"
>
<button
type=
"submit"
class=
"form-control btn btn-primary"
>
Create
</button>
</div>
</div>
</section>
</form>
</div>
</main>
{% endblock %}
{% block script %}
<script
src=
"https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/js/bootstrap-datepicker.min.js"
></script>
<script
src=
"http://dbrekalo.github.io/fastselect/dist/fastselect.standalone.js"
></script>
{% endblock %}
\ No newline at end of file
esi/templates/base.html
View file @
893da6cd
...
...
@@ -17,6 +17,19 @@
</head>
<body>
<nav
class=
"navbar navbar-toggleable-md navbar-light bg-faded"
>
<div
class=
"navbar-header"
>
<a
class=
"navbar-brand"
href=
"#"
>
ESI
</a>
</div>
<ul
class=
"nav navbar-nav"
>
<li
class=
"active"
><a
href=
"/"
>
Home
</a></li>
<li><a
href=
"{% url 'list_news' %}"
>
News
</a></li>
<li><a
href=
"#"
>
Settings
</a></li>
<li><a
href=
"#"
>
Stat
</a></li>
</ul>
</nav>
{% block content %}
{% endblock %}
<script
src=
"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"
></script>
...
...
esi/templates/list_news.html
View file @
893da6cd
...
...
@@ -49,9 +49,9 @@
<table
class=
"table table-hover"
>
<thead
class=
"thead-inverse"
>
<tr>
<th>
<span>
Title
</span>
</th>
<th>
<a
class=
"text-white"
href=
"?order_by=title{% if request.GET.order_by == 'title' and request.GET.reverse != '1' %}&reverse=1{% endif %}"
>
Title {% if request.GET.order_by == 'title' and request.GET.reverse != '1' %}
↑
{% elif request.GET.order_by == 'title' and request.GET.reverse == '1' %}
↓
{% endif %}
</a>
</th>
<th><a
class=
"text-white"
href=
"?order_by=media_id{% if request.GET.order_by == 'media_id' and request.GET.reverse != '1' %}&reverse=1{% endif %}"
>
Media {% if request.GET.order_by == 'media_id' and request.GET.reverse != '1' %}
↑
{% elif request.GET.order_by == 'media_id' and request.GET.reverse == '1' %}
↓
{% endif %}
</a></th>
...
...
esi/webapp/autocomplete.py
View file @
893da6cd
import
json
from
django.http
import
JsonResponse
from
.models
import
WpEsiRadar
,
WpEsiIndustry
,
WpEsiFunction
,
WpEsiMedia
,
WpEsiTechnology
,
WpEsiType
,
WpEsiRegion
,
\
WpEsiTag
WpEsiTag
,
WpEsiEntity
def
auto
(
request
,
slug
):
print
(
slug
)
if
slug
==
'entity'
:
return
select
(
WpEsiEntity
)
if
slug
==
'radar'
:
return
select
(
WpEsiRadar
)
if
slug
==
'industry'
:
...
...
esi/webapp/forms.py
View file @
893da6cd
...
...
@@ -4,10 +4,19 @@ from django import forms
from
.models
import
News
class
News
Update
(
forms
.
Form
):
class
News
Form
(
forms
.
Form
):
def
update
(
self
):
news
=
News
.
objects
.
get
(
pk
=
self
.
data
[
'news_id'
])
news
=
self
.
_make
(
news
)
news
.
save
()
def
create
(
self
):
news
=
News
()
news
=
self
.
_make
(
news
)
news
.
save
()
def
_make
(
self
,
news
):
if
self
.
data
[
'title'
]:
news
.
title
=
self
.
data
[
'title'
]
if
self
.
data
[
'description'
]:
...
...
@@ -35,4 +44,4 @@ class NewsUpdate(forms.Form):
if
self
.
data
[
'tags'
]:
news
.
tags_id
=
[
int
(
i
)
for
i
in
self
.
data
[
'tags'
]
.
split
(
','
)]
news
.
save
()
return
news
\ No newline at end of file
esi/webapp/urls.py
View file @
893da6cd
from
django.conf.urls
import
url
from
.views
import
ListNewsView
,
EditNewsView
,
ViewNewsView
,
add
from
.views
import
ListNewsView
,
EditNewsView
,
ViewNewsView
,
AddNewsView
from
.autocomplete
import
*
...
...
@@ -8,5 +8,5 @@ urlpatterns = [
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'^auto/(?P<slug>\w+)$'
,
auto
,
name
=
'auto'
),
url
(
r'^add/$'
,
add
,
name
=
'add_news'
)
url
(
r'^add/$'
,
AddNewsView
.
as_view
()
,
name
=
'add_news'
)
]
\ No newline at end of file
esi/webapp/views.py
View file @
893da6cd
...
...
@@ -8,7 +8,7 @@ from django.db.models import Max, Min
from
django.core.paginator
import
Paginator
,
EmptyPage
,
PageNotAnInteger
from
.models
import
News
,
WpEsiNews
,
WpEsiNewsEntity
,
WpEsiMedia
,
WpEsiEntity
from
.forms
import
News
Update
from
.forms
import
News
Form
class
ListNewsView
(
ListView
):
...
...
@@ -23,7 +23,7 @@ class ListNewsView(ListView):
news
=
News
.
objects
.
filter
(
is_accepted
=
False
)
.
order_by
(
'-id'
)
#.order_by('record_date')
order_by
=
request
.
GET
.
get
(
'order_by'
)
if
order_by
in
(
'media_id'
,
'type_id'
,
'region_id'
,
'publish_date'
):
if
order_by
in
(
'media_id'
,
'type_id'
,
'region_id'
,
'publish_date'
,
'title'
):
news
=
news
.
order_by
(
'-'
+
order_by
)
if
request
.
GET
.
get
(
'reverse'
)
==
'1'
:
news
=
news
.
reverse
()
...
...
@@ -94,7 +94,7 @@ class EditNewsView(DetailView):
return
render
(
request
,
self
.
template_name
,
{
'news'
:
news
})
def
post
(
self
,
request
,
*
args
,
**
kwargs
):
form
=
News
Update
(
request
.
POST
)
form
=
News
Form
(
request
.
POST
)
if
form
.
is_valid
():
form
.
update
()
...
...
@@ -124,7 +124,15 @@ class ViewNewsView(DetailView):
return
HttpResponseRedirect
(
reverse
(
'view_news'
,
kwargs
=
{
'id'
:
export_news
}))
def
add
(
request
):
news
=
News
()
news
.
save
()
return
HttpResponseRedirect
(
reverse
(
'edit_news'
,
kwargs
=
{
'id'
:
news
.
id
}))
\ No newline at end of file
class
AddNewsView
(
CreateView
):
template_name
=
'add_news.html'
def
get
(
self
,
request
,
*
args
,
**
kwargs
):
return
render
(
request
,
template_name
=
self
.
template_name
)
def
post
(
self
,
request
,
*
args
,
**
kwargs
):
form
=
NewsForm
(
request
.
POST
)
if
form
.
is_valid
():
form
.
create
()
return
HttpResponseRedirect
(
reverse
(
'list_news'
))
\ 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