Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Gepetto
dashboard
Commits
26299343
Commit
26299343
authored
Jan 12, 2018
by
Guilhem Saurel
Browse files
articles
parent
12057875
Changes
5
Show whitespace changes
Inline
Side-by-side
rainboard/management/commands/populate.py
View file @
26299343
...
...
@@ -2,10 +2,10 @@ import logging
from
django.core.management.base
import
BaseCommand
from
rainboard.models
import
Forge
,
License
,
Repo
import
requests
from
rainboard.models
import
Forge
,
License
,
Repo
LICENSES
=
'https://raw.githubusercontent.com/spdx/license-list-data/master/json/licenses.json'
logger
=
logging
.
getLogger
(
'rainboard.management.populate'
)
...
...
rainboard/migrations/0001_initial.py
View file @
26299343
# Generated by Django 2.0.1 on 2018-01-11 15:46
import
autoslug.fields
from
django.db
import
migrations
,
models
import
django.db.models.deletion
from
django.db
import
migrations
,
models
import
autoslug.fields
import
ndh.models
...
...
rainboard/models.py
View file @
26299343
import
logging
from
django.contrib.auth.models
import
User
from
django.db
import
models
from
django.urls
import
reverse
import
requests
from
autoslug
import
AutoSlugField
from
ndh.models
import
NamedModel
,
TimeStampedModel
,
Links
from
ndh.models
import
Links
,
NamedModel
,
TimeStampedModel
from
ndh.utils
import
enum_to_choices
,
query_sum
import
requests
from
.utils
import
SOURCES
,
TARGETS
logger
=
logging
.
getLogger
(
'rainboard.models'
)
class
Article
(
NamedModel
):
authors
=
models
.
ManyToManyField
(
User
)
year
=
models
.
PositiveSmallIntegerField
()
url
=
models
.
URLField
(
max_length
=
200
)
pdf
=
models
.
URLField
(
max_length
=
200
)
class
Namespace
(
NamedModel
):
group
=
models
.
BooleanField
(
default
=
False
)
...
...
@@ -32,6 +40,7 @@ class Project(Links, NamedModel, TimeStampedModel):
main_namespace
=
models
.
ForeignKey
(
Namespace
,
on_delete
=
models
.
SET_NULL
,
null
=
True
,
blank
=
True
)
license
=
models
.
ForeignKey
(
License
,
on_delete
=
models
.
SET_NULL
,
blank
=
True
,
null
=
True
)
homepage
=
models
.
URLField
(
max_length
=
200
,
blank
=
True
,
null
=
True
)
articles
=
models
.
ManyToManyField
(
Article
)
def
get_absolute_url
(
self
):
return
reverse
(
'rainboard:project'
,
kwargs
=
{
'slug'
:
self
.
slug
})
...
...
rainboard/urls.py
View file @
26299343
from
django.urls
import
path
from
django.views.generic
import
ListView
from
.models
import
Forge
,
Namespace
,
Project
from
.
import
views
from
.models
import
Forge
,
Namespace
,
Project
app_name
=
'rainboard'
urlpatterns
=
[
...
...
rainboard/views.py
View file @
26299343
from
django.shortcuts
import
render
from
django.views.generic
import
DetailView
from
django_filters.views
import
FilterView
from
django_tables2
import
RequestConfig
from
django_tables2.views
import
SingleTableMixin
from
django_filters.views
import
FilterView
from
.filters
import
ProjectFilter
from
.models
import
Forge
,
Namespace
,
Project
from
.tables
import
ProjectTable
,
RepoTable
from
.filters
import
ProjectFilter
def
home
(
request
):
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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