US#49: Renaming app to Taiga
parent
ef579f6823
commit
99b9066965
|
@ -1,7 +1,7 @@
|
||||||
.*.sw*
|
.*.sw*
|
||||||
*.log
|
*.log
|
||||||
greenmine/search
|
taiga/search
|
||||||
greenmine/settings/local.py
|
taiga/settings/local.py
|
||||||
database.sqlite
|
database.sqlite
|
||||||
logs
|
logs
|
||||||
media
|
media
|
||||||
|
|
|
@ -4,12 +4,12 @@ python:
|
||||||
services:
|
services:
|
||||||
- rabbitmq # will start rabbitmq-server
|
- rabbitmq # will start rabbitmq-server
|
||||||
before_script:
|
before_script:
|
||||||
- psql -c 'create database greenmine;' -U postgres
|
- psql -c 'create database taiga;' -U postgres
|
||||||
install:
|
install:
|
||||||
- pip install -r requirements.txt --use-mirrors
|
- pip install -r requirements.txt --use-mirrors
|
||||||
- pip install coveralls --use-mirrors
|
- pip install coveralls --use-mirrors
|
||||||
script:
|
script:
|
||||||
- coverage run --source=greenmine --omit='*tests*,*commands*,*admin*,*.jinja,*dashboard*,*settings*,*wsgi*,*questions*,*documents*' manage.py test --settings=greenmine.settings.travis greenmine
|
- coverage run --source=taiga --omit='*tests*,*commands*,*admin*,*.jinja,*dashboard*,*settings*,*wsgi*,*questions*,*documents*' manage.py test --settings=taiga.settings.travis taiga
|
||||||
notifications:
|
notifications:
|
||||||
email:
|
email:
|
||||||
recipients:
|
recipients:
|
||||||
|
|
|
@ -5,11 +5,11 @@ The PRIMARY AUTHORS are:
|
||||||
- David Barragán Merino <dbarragan@dbarragan.com>
|
- David Barragán Merino <dbarragan@dbarragan.com>
|
||||||
- Alejandro Alonso <alejandro.alonso@kaleidos.net>
|
- Alejandro Alonso <alejandro.alonso@kaleidos.net>
|
||||||
|
|
||||||
Special thanks to Kaleidos Open Source S.L for provice time for greenmine
|
Special thanks to Kaleidos Open Source S.L for provice time for taiga
|
||||||
development.
|
development.
|
||||||
|
|
||||||
And here is an inevitably incomplete list of MUCH-APPRECIATED CONTRIBUTORS --
|
And here is an inevitably incomplete list of MUCH-APPRECIATED CONTRIBUTORS --
|
||||||
people who have submitted patches, reported bugs, added translations, helped
|
people who have submitted patches, reported bugs, added translations, helped
|
||||||
answer newbie questions, and generally made greenmine that much better:
|
answer newbie questions, and generally made taiga that much better:
|
||||||
|
|
||||||
- ...
|
- ...
|
||||||
|
|
18
README.rst
18
README.rst
|
@ -2,15 +2,15 @@ Taiga Backend
|
||||||
=================
|
=================
|
||||||
|
|
||||||
.. image:: http://kaleidos.net/static/img/badge.png
|
.. image:: http://kaleidos.net/static/img/badge.png
|
||||||
:target: http://kaleidos.net/community/greenmine/
|
:target: http://kaleidos.net/community/taiga/
|
||||||
|
|
||||||
.. image:: https://travis-ci.org/kaleidos/greenmine-back.png?branch=master
|
.. image:: https://travis-ci.org/kaleidos/taiga-back.png?branch=master
|
||||||
:target: https://travis-ci.org/kaleidos/greenmine-back
|
:target: https://travis-ci.org/kaleidos/taiga-back
|
||||||
|
|
||||||
.. image:: https://coveralls.io/repos/kaleidos/greenmine-back/badge.png?branch=master
|
.. image:: https://coveralls.io/repos/kaleidos/taiga-back/badge.png?branch=master
|
||||||
:target: https://coveralls.io/r/kaleidos/greenmine-back?branch=master
|
:target: https://coveralls.io/r/kaleidos/taiga-back?branch=master
|
||||||
|
|
||||||
.. image:: https://d2weczhvl823v0.cloudfront.net/kaleidos/greenmine-back/trend.png
|
.. image:: https://d2weczhvl823v0.cloudfront.net/kaleidos/taiga-back/trend.png
|
||||||
:alt: Bitdeli badge
|
:alt: Bitdeli badge
|
||||||
:target: https://bitdeli.com/free
|
:target: https://bitdeli.com/free
|
||||||
|
|
||||||
|
@ -29,11 +29,11 @@ Just execute these commands in your virtualenv(wrapper):
|
||||||
|
|
||||||
You have to load the sql sentences of the file ``sql/tags.sql`` and your database
|
You have to load the sql sentences of the file ``sql/tags.sql`` and your database
|
||||||
must support PL/Python. You use a dbuser with privileges in the database,
|
must support PL/Python. You use a dbuser with privileges in the database,
|
||||||
'greenmine' for example, to do this.
|
'taiga' for example, to do this.
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
psql greenmine
|
psql taiga
|
||||||
|
|
||||||
.. code-block:: sql
|
.. code-block:: sql
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ Polyfills
|
||||||
---------
|
---------
|
||||||
|
|
||||||
Django-Rest Framework by default returns 403 for not authenticated requests and permission denied
|
Django-Rest Framework by default returns 403 for not authenticated requests and permission denied
|
||||||
requests. The file ``greenmine/base/monkey.py`` contains a temporary fix for this bug.
|
requests. The file ``taiga/base/monkey.py`` contains a temporary fix for this bug.
|
||||||
|
|
||||||
This patch is applied when the module ``base.models`` it's loaded. Once it's solved on django rest
|
This patch is applied when the module ``base.models`` it's loaded. Once it's solved on django rest
|
||||||
framework, this patch can be removed.
|
framework, this patch can be removed.
|
||||||
|
|
|
@ -40,7 +40,7 @@ source_suffix = '.rst'
|
||||||
master_doc = 'index'
|
master_doc = 'index'
|
||||||
|
|
||||||
# General information about the project.
|
# General information about the project.
|
||||||
project = u'greenmine'
|
project = u'taiga'
|
||||||
copyright = u'2012, Andrei Antoukh'
|
copyright = u'2012, Andrei Antoukh'
|
||||||
|
|
||||||
# The version info for the project you're documenting, acts as replacement for
|
# The version info for the project you're documenting, acts as replacement for
|
||||||
|
@ -174,7 +174,7 @@ html_sidebars = {
|
||||||
#html_file_suffix = None
|
#html_file_suffix = None
|
||||||
|
|
||||||
# Output file base name for HTML help builder.
|
# Output file base name for HTML help builder.
|
||||||
htmlhelp_basename = 'greenminedoc'
|
htmlhelp_basename = 'taigadoc'
|
||||||
|
|
||||||
|
|
||||||
# -- Options for LaTeX output --------------------------------------------------
|
# -- Options for LaTeX output --------------------------------------------------
|
||||||
|
@ -193,7 +193,7 @@ latex_elements = {
|
||||||
# Grouping the document tree into LaTeX files. List of tuples
|
# Grouping the document tree into LaTeX files. List of tuples
|
||||||
# (source start file, target name, title, author, documentclass [howto/manual]).
|
# (source start file, target name, title, author, documentclass [howto/manual]).
|
||||||
latex_documents = [
|
latex_documents = [
|
||||||
('index', 'greenmine.tex', u'greenmine documentation',
|
('index', 'taiga.tex', u'taiga documentation',
|
||||||
u'Andrei Antoukh', 'manual'),
|
u'Andrei Antoukh', 'manual'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -223,7 +223,7 @@ latex_documents = [
|
||||||
# One entry per manual page. List of tuples
|
# One entry per manual page. List of tuples
|
||||||
# (source start file, name, description, authors, manual section).
|
# (source start file, name, description, authors, manual section).
|
||||||
man_pages = [
|
man_pages = [
|
||||||
('index', 'green-mine', u'greenmine documentation',
|
('index', 'green-mine', u'taiga documentation',
|
||||||
[u'Andrei Antoukh'], 1)
|
[u'Andrei Antoukh'], 1)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -237,8 +237,8 @@ man_pages = [
|
||||||
# (source start file, target name, title, author,
|
# (source start file, target name, title, author,
|
||||||
# dir menu entry, description, category)
|
# dir menu entry, description, category)
|
||||||
texinfo_documents = [
|
texinfo_documents = [
|
||||||
('index', 'greenmine', u'greenmine documentation',
|
('index', 'taiga', u'taiga documentation',
|
||||||
u'Andrei Antoukh', 'greenmine', 'One line description of project.',
|
u'Andrei Antoukh', 'taiga', 'One line description of project.',
|
||||||
'Miscellaneous'),
|
'Miscellaneous'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -40,11 +40,11 @@ Requirements for running tests: same as standard requierements.
|
||||||
|
|
||||||
To run tests, open a shell on a package directory and type::
|
To run tests, open a shell on a package directory and type::
|
||||||
|
|
||||||
python manage.py test -v2 greenmine
|
python manage.py test -v2 taiga
|
||||||
|
|
||||||
To access coverage of tests you need to install the coverage_ package and run the tests using::
|
To access coverage of tests you need to install the coverage_ package and run the tests using::
|
||||||
|
|
||||||
coverage run --omit=extern manage.py test -v2 greenmine
|
coverage run --omit=extern manage.py test -v2 taiga
|
||||||
|
|
||||||
and to check out the coverage report::
|
and to check out the coverage report::
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ Develpment of Green-Mine happens at github: https://github.com/niwibe/Green-Mine
|
||||||
|
|
||||||
We very much welcome your contribution of course. To do so, simply follow these guidelines:
|
We very much welcome your contribution of course. To do so, simply follow these guidelines:
|
||||||
|
|
||||||
1. Fork ``greenmine`` on github.
|
1. Fork ``taiga`` on github.
|
||||||
2. Create feature branch. Example: ``git checkout -b my_new_feature``
|
2. Create feature branch. Example: ``git checkout -b my_new_feature``
|
||||||
3. Push your changes. Example: ``git push -u origin my_new_feature``
|
3. Push your changes. Example: ``git push -u origin my_new_feature``
|
||||||
4. Send me a pull-request.
|
4. Send me a pull-request.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
Settings introduced by greenmine.
|
Settings introduced by taiga.
|
||||||
=================================
|
=============================
|
||||||
|
|
||||||
Default settings
|
Default settings
|
||||||
----------------
|
----------------
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
python ./manage.py dumpdata -n --indent=4 users.Role > greenmine/base/users/fixtures/initial_role.json
|
python ./manage.py dumpdata -n --indent=4 users.Role > taiga/base/users/fixtures/initial_role.json
|
||||||
|
|
|
@ -3,7 +3,7 @@ import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "greenmine.settings")
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "taiga.settings")
|
||||||
|
|
||||||
from django.core.management import execute_from_command_line
|
from django.core.management import execute_from_command_line
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# For postgresql
|
# For postgresql
|
||||||
echo "-> Remove greenmine DB"
|
echo "-> Remove taiga DB"
|
||||||
dropdb greenmine
|
dropdb taiga
|
||||||
echo "-> Create greenmine DB"
|
echo "-> Create taiga DB"
|
||||||
createdb greenmine
|
createdb taiga
|
||||||
|
|
||||||
echo "-> Run syncdb"
|
echo "-> Run syncdb"
|
||||||
python manage.py syncdb --migrate --noinput --traceback
|
python manage.py syncdb --migrate --noinput --traceback
|
||||||
|
|
|
@ -7,7 +7,7 @@ from django.core import signing
|
||||||
from django.db.models import get_model
|
from django.db.models import get_model
|
||||||
from rest_framework.authentication import BaseAuthentication
|
from rest_framework.authentication import BaseAuthentication
|
||||||
|
|
||||||
import greenmine.base.exceptions as exc
|
import taiga.base.exceptions as exc
|
||||||
|
|
||||||
|
|
||||||
class Session(BaseAuthentication):
|
class Session(BaseAuthentication):
|
|
@ -10,12 +10,12 @@ from rest_framework.permissions import AllowAny
|
||||||
from rest_framework import status, viewsets
|
from rest_framework import status, viewsets
|
||||||
from rest_framework.decorators import list_route
|
from rest_framework.decorators import list_route
|
||||||
|
|
||||||
from greenmine.base.domains.models import DomainMember
|
from taiga.base.domains.models import DomainMember
|
||||||
from greenmine.base.domains import get_active_domain
|
from taiga.base.domains import get_active_domain
|
||||||
from greenmine.base.users.models import User, Role
|
from taiga.base.users.models import User, Role
|
||||||
from greenmine.base.users.serializers import UserSerializer
|
from taiga.base.users.serializers import UserSerializer
|
||||||
from greenmine.base import exceptions as exc
|
from taiga.base import exceptions as exc
|
||||||
from greenmine.base import auth
|
from taiga.base import auth
|
||||||
|
|
||||||
from .serializers import (PublicRegisterSerializer,
|
from .serializers import (PublicRegisterSerializer,
|
||||||
PrivateRegisterSerializer,
|
PrivateRegisterSerializer,
|
|
@ -13,13 +13,13 @@ from rest_framework import viewsets
|
||||||
from rest_framework.permissions import IsAuthenticated
|
from rest_framework.permissions import IsAuthenticated
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
|
|
||||||
from greenmine import urls
|
from taiga import urls
|
||||||
from greenmine.base import auth
|
from taiga.base import auth
|
||||||
from greenmine.base.users.tests import create_user, create_domain
|
from taiga.base.users.tests import create_user, create_domain
|
||||||
from greenmine.projects.tests import create_project
|
from taiga.projects.tests import create_project
|
||||||
|
|
||||||
from greenmine.base.domains.models import Domain, DomainMember
|
from taiga.base.domains.models import Domain, DomainMember
|
||||||
from greenmine.projects.models import Membership
|
from taiga.projects.models import Membership
|
||||||
|
|
||||||
|
|
||||||
class TestAuthView(viewsets.ViewSet):
|
class TestAuthView(viewsets.ViewSet):
|
|
@ -11,7 +11,7 @@ from .. import exceptions as exc
|
||||||
|
|
||||||
|
|
||||||
_local = local()
|
_local = local()
|
||||||
log = logging.getLogger("greenmine.domains")
|
log = logging.getLogger("taiga.domains")
|
||||||
|
|
||||||
|
|
||||||
class DomainNotFound(exc.BaseException):
|
class DomainNotFound(exc.BaseException):
|
|
@ -6,7 +6,7 @@ from rest_framework.permissions import AllowAny, IsAuthenticated
|
||||||
|
|
||||||
from django.http import Http404
|
from django.http import Http404
|
||||||
|
|
||||||
from greenmine.base.api import ModelCrudViewSet, UpdateModelMixin
|
from taiga.base.api import ModelCrudViewSet, UpdateModelMixin
|
||||||
from .serializers import DomainSerializer, DomainMemberSerializer
|
from .serializers import DomainSerializer, DomainMemberSerializer
|
||||||
from .permissions import DomainMembersPermission, DomainPermission
|
from .permissions import DomainMembersPermission, DomainPermission
|
||||||
from .models import DomainMember, Domain
|
from .models import DomainMember, Domain
|
|
@ -4,8 +4,8 @@ import json
|
||||||
|
|
||||||
from django import http
|
from django import http
|
||||||
|
|
||||||
from greenmine.base import domains
|
from taiga.base import domains
|
||||||
from greenmine.base.exceptions import format_exception
|
from taiga.base.exceptions import format_exception
|
||||||
|
|
||||||
|
|
||||||
class DomainsMiddleware(object):
|
class DomainsMiddleware(object):
|
|
@ -1,7 +1,7 @@
|
||||||
from rest_framework import permissions
|
from rest_framework import permissions
|
||||||
|
|
||||||
from greenmine.base.domains.models import DomainMember
|
from taiga.base.domains.models import DomainMember
|
||||||
from greenmine.base.domains import get_active_domain
|
from taiga.base.domains import get_active_domain
|
||||||
|
|
||||||
|
|
||||||
class DomainPermission(permissions.BasePermission):
|
class DomainPermission(permissions.BasePermission):
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
from .models import Domain, DomainMember
|
from .models import Domain, DomainMember
|
||||||
from greenmine.base.users.serializers import UserSerializer
|
from taiga.base.users.serializers import UserSerializer
|
||||||
|
|
||||||
|
|
||||||
class DomainSerializer(serializers.ModelSerializer):
|
class DomainSerializer(serializers.ModelSerializer):
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
from rest_framework import permissions
|
from rest_framework import permissions
|
||||||
|
|
||||||
from greenmine.projects.models import Membership
|
from taiga.projects.models import Membership
|
||||||
|
|
||||||
|
|
||||||
def has_project_perm(user, project, perm):
|
def has_project_perm(user, project, perm):
|
|
@ -6,7 +6,7 @@ from rest_framework.response import Response
|
||||||
from rest_framework import viewsets
|
from rest_framework import viewsets
|
||||||
from rest_framework.permissions import IsAuthenticated
|
from rest_framework.permissions import IsAuthenticated
|
||||||
|
|
||||||
from greenmine.base import exceptions as excp
|
from taiga.base import exceptions as excp
|
||||||
|
|
||||||
|
|
||||||
class ResolverViewSet(viewsets.ViewSet):
|
class ResolverViewSet(viewsets.ViewSet):
|
|
@ -5,11 +5,11 @@ from django.db.models.loading import get_model
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from rest_framework import viewsets
|
from rest_framework import viewsets
|
||||||
|
|
||||||
from greenmine.base import exceptions as excp
|
from taiga.base import exceptions as excp
|
||||||
from greenmine.projects.userstories.serializers import UserStorySerializer
|
from taiga.projects.userstories.serializers import UserStorySerializer
|
||||||
from greenmine.projects.tasks.serializers import TaskSerializer
|
from taiga.projects.tasks.serializers import TaskSerializer
|
||||||
from greenmine.projects.issues.serializers import IssueSerializer
|
from taiga.projects.issues.serializers import IssueSerializer
|
||||||
from greenmine.projects.wiki.serializers import WikiPageSerializer
|
from taiga.projects.wiki.serializers import WikiPageSerializer
|
||||||
|
|
||||||
|
|
||||||
class SearchViewSet(viewsets.ViewSet):
|
class SearchViewSet(viewsets.ViewSet):
|
|
@ -14,9 +14,9 @@ from rest_framework import status, viewsets
|
||||||
|
|
||||||
from djmail.template_mail import MagicMailBuilder
|
from djmail.template_mail import MagicMailBuilder
|
||||||
|
|
||||||
from greenmine.base import exceptions as exc
|
from taiga.base import exceptions as exc
|
||||||
from greenmine.base.filters import FilterBackend
|
from taiga.base.filters import FilterBackend
|
||||||
from greenmine.base.api import ModelCrudViewSet, RetrieveModelMixin
|
from taiga.base.api import ModelCrudViewSet, RetrieveModelMixin
|
||||||
|
|
||||||
from .models import User, Role
|
from .models import User, Role
|
||||||
from .serializers import UserSerializer, RoleSerializer, RecoverySerializer
|
from .serializers import UserSerializer, RoleSerializer, RecoverySerializer
|
|
@ -5,7 +5,7 @@ from django.dispatch import receiver
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from django.contrib.auth.models import UserManager, AbstractUser
|
from django.contrib.auth.models import UserManager, AbstractUser
|
||||||
|
|
||||||
from greenmine.base.notifications.models import WatcherMixin
|
from taiga.base.notifications.models import WatcherMixin
|
||||||
|
|
||||||
|
|
||||||
class User(AbstractUser, WatcherMixin):
|
class User(AbstractUser, WatcherMixin):
|
|
@ -10,7 +10,7 @@ def create_user(id, save=True, is_superuser=False):
|
||||||
|
|
||||||
instance = model(
|
instance = model(
|
||||||
username="user{0}".format(id),
|
username="user{0}".format(id),
|
||||||
email="user{0}@greenmine.com".format(id),
|
email="user{0}@taiga.io".format(id),
|
||||||
first_name="Foo{0}".format(id),
|
first_name="Foo{0}".format(id),
|
||||||
last_name="Bar{0}".format(id)
|
last_name="Bar{0}".format(id)
|
||||||
)
|
)
|
|
@ -3,7 +3,7 @@
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django_jinja import library
|
from django_jinja import library
|
||||||
|
|
||||||
from greenmine.base import domains
|
from taiga.base import domains
|
||||||
|
|
||||||
|
|
||||||
URLS = {
|
URLS = {
|
|
@ -3,7 +3,7 @@
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.contrib.contenttypes import generic
|
from django.contrib.contenttypes import generic
|
||||||
|
|
||||||
from greenmine.projects.milestones.admin import MilestoneInline
|
from taiga.projects.milestones.admin import MilestoneInline
|
||||||
from . import models
|
from . import models
|
||||||
|
|
||||||
import reversion
|
import reversion
|
|
@ -15,13 +15,13 @@ from rest_framework import status
|
||||||
|
|
||||||
from djmail.template_mail import MagicMailBuilder
|
from djmail.template_mail import MagicMailBuilder
|
||||||
|
|
||||||
from greenmine.base import filters
|
from taiga.base import filters
|
||||||
from greenmine.base import exceptions as exc
|
from taiga.base import exceptions as exc
|
||||||
from greenmine.base.permissions import has_project_perm
|
from taiga.base.permissions import has_project_perm
|
||||||
from greenmine.base.api import ModelCrudViewSet, ModelListViewSet, RetrieveModelMixin
|
from taiga.base.api import ModelCrudViewSet, ModelListViewSet, RetrieveModelMixin
|
||||||
from greenmine.base.domains import get_active_domain
|
from taiga.base.domains import get_active_domain
|
||||||
from greenmine.base.notifications.api import NotificationSenderMixin
|
from taiga.base.notifications.api import NotificationSenderMixin
|
||||||
from greenmine.projects.aggregates.tags import get_all_tags
|
from taiga.projects.aggregates.tags import get_all_tags
|
||||||
|
|
||||||
from . import serializers
|
from . import serializers
|
||||||
from . import models
|
from . import models
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
from rest_framework.permissions import IsAuthenticated
|
from rest_framework.permissions import IsAuthenticated
|
||||||
|
|
||||||
from greenmine.base import filters
|
from taiga.base import filters
|
||||||
from greenmine.base.api import ModelCrudViewSet
|
from taiga.base.api import ModelCrudViewSet
|
||||||
|
|
||||||
from . import serializers
|
from . import serializers
|
||||||
from . import models
|
from . import models
|
|
@ -5,7 +5,7 @@ from django.conf import settings
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from picklefield.fields import PickledObjectField
|
from picklefield.fields import PickledObjectField
|
||||||
from greenmine.base.utils.slug import slugify_uniquely as slugify
|
from taiga.base.utils.slug import slugify_uniquely as slugify
|
||||||
|
|
||||||
|
|
||||||
class Document(models.Model):
|
class Document(models.Model):
|
|
@ -1,6 +1,6 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
from greenmine.base.permissions import BasePermission
|
from taiga.base.permissions import BasePermission
|
||||||
|
|
||||||
|
|
||||||
class DocumentPermission(BasePermission):
|
class DocumentPermission(BasePermission):
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
|
|
||||||
from greenmine.projects.admin import AttachmentInline
|
from taiga.projects.admin import AttachmentInline
|
||||||
|
|
||||||
from . import models
|
from . import models
|
||||||
|
|
|
@ -10,13 +10,13 @@ from rest_framework.response import Response
|
||||||
from rest_framework import status
|
from rest_framework import status
|
||||||
from rest_framework import filters
|
from rest_framework import filters
|
||||||
|
|
||||||
from greenmine.base import filters
|
from taiga.base import filters
|
||||||
from greenmine.base import exceptions as exc
|
from taiga.base import exceptions as exc
|
||||||
from greenmine.base.api import ModelCrudViewSet
|
from taiga.base.api import ModelCrudViewSet
|
||||||
from greenmine.base.notifications.api import NotificationSenderMixin
|
from taiga.base.notifications.api import NotificationSenderMixin
|
||||||
from greenmine.projects.permissions import AttachmentPermission
|
from taiga.projects.permissions import AttachmentPermission
|
||||||
from greenmine.projects.serializers import AttachmentSerializer
|
from taiga.projects.serializers import AttachmentSerializer
|
||||||
from greenmine.projects.models import Attachment
|
from taiga.projects.models import Attachment
|
||||||
|
|
||||||
from . import models
|
from . import models
|
||||||
from . import permissions
|
from . import permissions
|
|
@ -9,8 +9,8 @@ from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from picklefield.fields import PickledObjectField
|
from picklefield.fields import PickledObjectField
|
||||||
|
|
||||||
from greenmine.base.utils.slug import ref_uniquely
|
from taiga.base.utils.slug import ref_uniquely
|
||||||
from greenmine.base.notifications.models import WatchedMixin
|
from taiga.base.notifications.models import WatchedMixin
|
||||||
|
|
||||||
import reversion
|
import reversion
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
from greenmine.base.permissions import BasePermission
|
from taiga.base.permissions import BasePermission
|
||||||
|
|
||||||
|
|
||||||
class IssuePermission(BasePermission):
|
class IssuePermission(BasePermission):
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
|
||||||
from greenmine.base.serializers import PickleField
|
from taiga.base.serializers import PickleField
|
||||||
|
|
||||||
from . import models
|
from . import models
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue