olinox hace 4 años
padre
commit
dc1664858f

+ 40 - 18
.idea/workspace.xml

@@ -25,22 +25,23 @@
     </select>
     </select>
   </component>
   </component>
   <component name="ChangeListManager">
   <component name="ChangeListManager">
-    <list default="true" id="c4e74122-a1c0-423a-8c9f-93e36772f14e" name="Default Changelist" comment="">
-      <change afterPath="$PROJECT_DIR$/.idea/.gitignore" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/doc/mcd.mwb" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/doc/mcd.mwb.bak" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/orion-server/core/__init__.py" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/orion-server/core/admin.py" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/orion-server/core/apps.py" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/orion-server/core/models.py" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/orion-server/core/tests.py" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/orion-server/core/urls.py" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/orion-server/core/views.py" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/orion-server/requirements.txt" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/orion.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/orion.iml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/vcs.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
+    <list default="true" id="c4e74122-a1c0-423a-8c9f-93e36772f14e" name="Default Changelist" comment="implements basic django models">
+      <change afterPath="$PROJECT_DIR$/doc/specs/dome.md" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/doc/specs/technos.md" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/doc/mcd.mwb" beforeDir="false" afterPath="$PROJECT_DIR$/doc/mcd.mwb" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/doc/mcd.mwb.bak" beforeDir="false" afterPath="$PROJECT_DIR$/doc/mcd.mwb.bak" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/doc/specs/colonies/batiments/readme.md" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/doc/specs/dome/batiments/readme.md" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/doc/specs/dome/readme.md" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/doc/specs/readme.md" beforeDir="false" afterPath="$PROJECT_DIR$/doc/specs/readme.md" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/doc/specs/ressources/readme.md" beforeDir="false" afterPath="$PROJECT_DIR$/doc/specs/ressources.md" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/doc/specs/technologies/readme.md" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/orion-server/core/apps.py" beforeDir="false" afterPath="$PROJECT_DIR$/orion-server/core/apps.py" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/orion-server/core/models.py" beforeDir="false" afterPath="$PROJECT_DIR$/orion-server/core/models.py" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/orion-server/core/urls.py" beforeDir="false" afterPath="$PROJECT_DIR$/orion-server/core/urls.py" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/orion-server/orion/settings.py" beforeDir="false" afterPath="$PROJECT_DIR$/orion-server/orion/settings.py" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/orion-server/requirements.txt" beforeDir="false" afterPath="$PROJECT_DIR$/orion-server/requirements.txt" afterDir="false" />
     </list>
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -62,17 +63,20 @@
     <property name="ASKED_SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
     <property name="ASKED_SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
     <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
     <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
     <property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
     <property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
+    <property name="TERMINAL_CUSTOM_COMMANDS_GOT_IT" value="true" />
     <property name="last_opened_file_path" value="$PROJECT_DIR$/orion-server/core" />
     <property name="last_opened_file_path" value="$PROJECT_DIR$/orion-server/core" />
     <property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
     <property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
   </component>
   </component>
   <component name="RecentsManager">
   <component name="RecentsManager">
+    <key name="MoveFile.RECENT_KEYS">
+      <recent name="E:\dev\orion\doc\specs" />
+      <recent name="E:\dev\orion\doc\specs\colonies.md" />
+      <recent name="E:\dev\orion\doc" />
+    </key>
     <key name="CopyFile.RECENT_KEYS">
     <key name="CopyFile.RECENT_KEYS">
       <recent name="E:\dev\orion\orion-server\core" />
       <recent name="E:\dev\orion\orion-server\core" />
       <recent name="E:\dev\orion\orion-server" />
       <recent name="E:\dev\orion\orion-server" />
     </key>
     </key>
-    <key name="MoveFile.RECENT_KEYS">
-      <recent name="E:\dev\orion\doc" />
-    </key>
   </component>
   </component>
   <component name="SvnConfiguration">
   <component name="SvnConfiguration">
     <configuration />
     <configuration />
@@ -85,6 +89,14 @@
       <option name="presentableId" value="Default" />
       <option name="presentableId" value="Default" />
       <updated>1620163585343</updated>
       <updated>1620163585343</updated>
     </task>
     </task>
+    <task id="LOCAL-00001" summary="implements basic django models">
+      <created>1620425933538</created>
+      <option name="number" value="00001" />
+      <option name="presentableId" value="LOCAL-00001" />
+      <option name="project" value="LOCAL" />
+      <updated>1620425933538</updated>
+    </task>
+    <option name="localTasksCounter" value="2" />
     <servers />
     <servers />
   </component>
   </component>
   <component name="Vcs.Log.Tabs.Properties">
   <component name="Vcs.Log.Tabs.Properties">
@@ -139,6 +151,8 @@
       <path value="$PROJECT_DIR$/app/orion-app" />
       <path value="$PROJECT_DIR$/app/orion-app" />
       <path value="$PROJECT_DIR$/orion-app" />
       <path value="$PROJECT_DIR$/orion-app" />
     </ignored-roots>
     </ignored-roots>
+    <MESSAGE value="implements basic django models" />
+    <option name="LAST_COMMIT_MESSAGE" value="implements basic django models" />
   </component>
   </component>
   <component name="WindowStateProjectService">
   <component name="WindowStateProjectService">
     <state x="1170" y="267" key="#com.intellij.refactoring.safeDelete.UnsafeUsagesDialog" timestamp="1620425830908">
     <state x="1170" y="267" key="#com.intellij.refactoring.safeDelete.UnsafeUsagesDialog" timestamp="1620425830908">
@@ -153,5 +167,13 @@
       <screen x="0" y="0" width="1920" height="1040" />
       <screen x="0" y="0" width="1920" height="1040" />
     </state>
     </state>
     <state x="922" y="110" width="998" height="729" key="SettingsEditor/0.0.1920.1040@0.0.1920.1040" timestamp="1620422904887" />
     <state x="922" y="110" width="998" height="729" key="SettingsEditor/0.0.1920.1040@0.0.1920.1040" timestamp="1620422904887" />
+    <state x="1032" y="253" key="Vcs.Push.Dialog.v2" timestamp="1620425936059">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state x="1032" y="253" key="Vcs.Push.Dialog.v2/0.0.1920.1040@0.0.1920.1040" timestamp="1620425936059" />
+    <state x="695" y="308" key="git4idea.merge.GitPullDialog" timestamp="1620761224283">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state x="695" y="308" key="git4idea.merge.GitPullDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1620761224283" />
   </component>
   </component>
 </project>
 </project>

BIN
doc/mcd.mwb


BIN
doc/mcd.mwb.bak


+ 11 - 0
doc/specs/colonies.md

@@ -0,0 +1,11 @@
+# Les colonies
+
+## Le centre d'exploitation
+
+## Construction des bâtiments
+
+## Exploitation des ressources
+
+## Bâtiments disponibles
+
+## Defense de la colonie

+ 0 - 0
doc/specs/colonies/batiments/readme.md


+ 66 - 0
doc/specs/dome.md

@@ -0,0 +1,66 @@
+# Le dôme
+
+Le dôme est le centre névralgique de la propérité de votre commerce sur cette planète.
+Ici sous le dome vous êtes a l'abri de tout danger (joueurs, environnement, mercenaires...)
+
+Vous aurez la possibilité de construire des nouveaux bâtiments pour élargir votre champ d'action 
+(centre de formation, de recherces, usines, logements...)
+
+## Le dôme au départ
+
+
+## La population
+
+### Population et logement
+
+### Elargissement du dôme
+
+### Formation
+
+
+## Commerce
+
+### Raffinage
+
+### Production
+
+### Stockage
+
+
+## Administration
+
+### Gestion du dôme
+
+### Recherche
+
+### Communication
+
+### Finances
+
+### Sécurité
+
+## Les bâtiments
+
+La construction et le développement des bâtiments impliquent une dépense d'investissement,
+et une dépense journalière de fonctionnement.
+
+Les bâtiments peuvent pour la plupart évoluer et monter de niveau, sans limite max.
+
+| Nom du bâtiment |  Prérequis | Evolution | Description |
+| --- | --- | --- | --- |
+| Centre administratif |  |  |  |
+| Spatioport |  |  |  |
+| Dômes d'habitation |  |  |  |
+| Institut de recherches |  |  |  |
+| Centre de formation |  |  |  |
+| Institut météorologique |  |  |  |
+| Usines |  |  |  |
+| Entrepôts |  |  |  |
+| Banque |  |  |  |
+| PC Sécurité |  |  |  |
+| Hôpital |  |  |  |
+| Captage hydroponiques |  |  |  |
+| Centrales électriques|  |  |  |
+| Jardins, jardins suspendus |  |  |  |
+| Equipements touristiques |  |  |  |
+|  |  |  |  |

+ 0 - 7
doc/specs/dome/batiments/readme.md

@@ -1,7 +0,0 @@
-Batiment principal (Nom à definir : Base, Quartier General,)
-Centre technologique (lieu des recherches)
-Centre de formation (lieu de formation du personnel, recrutement fait via une interface)
-Centre meteorologique (annexe à prévoir dans les colonies)
-Usines(*) (Defense, transport, attaque)
-entrepot(*)
-dock(*)

+ 0 - 5
doc/specs/dome/readme.md

@@ -1,5 +0,0 @@
-Voici le centre névralgique de la propérité de votre commerce sur cette planète.
-
-Ici sous le dome vous êtes a l'abrit de tous danger (joueurs, environnement, mercenaire)
-
-Vous aurez la posibilité de construire des nouveaux batiments pour élargir vos champs d'action (centre de formation, usine d'équipement)

+ 31 - 23
doc/specs/readme.md

@@ -1,49 +1,57 @@
-Orion Online
+# Orion Online
 
 
-**Orion** est un jeu par navigateur dans lequel un joueur dirige une faction
-de colons installés sur une exoplanète. La faction démarre depuis un dôme situé dans une zone centrale 
-protégée par les lois de l'organisation galactique du commerce.
+## Principe général
 
 
-Depuis ce dôme, le joueur pourra aller fonder des colonies d'exploitation 
-à l'extérieur de cette zone, colonies qui lui permettront d'exploiter des 
-ressources qu'il pourra ensuite transporter, stocker et vendre pour 
+**Orion** est un jeu par navigateur dans lequel un joueur dirige une faction de colons installés sur une exoplanète. 
+La faction démarre depuis un dôme situé dans une zone centrale protégée par les lois de l'organisation galactique du 
+commerce.
+
+Depuis ce dôme, le joueur pourra aller fonder des colonies d'exploitation à l'extérieur de cette zone, 
+colonies qui lui permettront d'exploiter des ressources qu'il pourra ensuite transporter, stocker et vendre pour 
 mettre en place une économie.
 mettre en place une économie.
 
 
 Le commerce se compose:
 Le commerce se compose:
-* d'une phase d'exploitation des ressources
+
+* d'une phase d'exploration
+* de l'installation de colonies
+* d'exploitation des ressources
 * de leur transport jusqu'au dôme
 * de leur transport jusqu'au dôme
 * d'un éventuel raffinage
 * d'un éventuel raffinage
 * d'un stockage jusqu'à ce que la vente soit déclenchée
 * d'un stockage jusqu'à ce que la vente soit déclenchée
 * d'une vente, lorsque les cours de la bourse galactique sont favorables
 * d'une vente, lorsque les cours de la bourse galactique sont favorables
 
 
+
 Il est aussi possible d'acheter des ressources.
 Il est aussi possible d'acheter des ressources.
 
 
 Il existe un système de cours du prix des ressources, 
 Il existe un système de cours du prix des ressources, 
 inspiré du système de la bourse.
 inspiré du système de la bourse.
 
 
-Le QG d'une faction est son dôme. C'est dans ce dôme que la faction va pouvoir
-dévelloper a population, ses spécialistes, ses recherches...: 
-[voir chapitre sur le dôme](wiki/dome/readme.md)
 
 
-Autour de la zone centrale dans laquelle sont installés les dômes, se trouve un
-anneau de terres cultivables automatiquement divisées entre les factions. 
-Chaque faction reçoit ainsi une surface de départ à exploiter automatiquement
+## Le dôme
+
+Le QG d'une faction est son dôme. C'est dans ce dôme que la faction va pouvoir developer sa population, 
+ses spécialistes, ses recherches...: [voir chapitre sur le dôme](wiki/dome/readme.md)
+
+La population du dôme représente le niveau de dévelopement d'une colonie.
+Cette population est limitée par la présence de dômes d'habitation.
+Une part de cette population est active (70%?). Tous ces habitants actifs
+sont non-spécialisés par défaut, et peuvent accomplir certaines des tâches 
+de base (construire, exploiter...). Des centres de formations ou de l'immigration 
+spécialisée permettrent ensuite de faire fonctionner des bâtiments qui nécessitent 
+des gens formés, comme des chercheurs.
+
+Autour de la zone centrale dans laquelle sont installés les dômes, se trouve un anneau de terres cultivables 
+automatiquement divisées entre les factions. Chaque faction reçoit ainsi une surface de départ à exploiter automatiquement
 reliée à son dôme.
 reliée à son dôme.
 
 
+## Les colonies
+
 Autour de cet anneau, 8 docks sont présents, aux 8 points cardinaux (N, NE, E, SE...)
 Autour de cet anneau, 8 docks sont présents, aux 8 points cardinaux (N, NE, E, SE...)
 
 
-Ces docks sont tous reliés aux dômes. Les colonies crées par un joueur devront être
+Ces docks sont automatiquement reliés aux dômes. Les colonies créées par un joueur devront être
 reliées à l'un de ces docks.
 reliées à l'un de ces docks.
 
 
 Un joueur peut créer une quantité de colonies limitée par son niveau d'administration.
 Un joueur peut créer une quantité de colonies limitée par son niveau d'administration.
 Chaque colonie doit être placée à une distance limitée d'une autre pour pouvoir 
 Chaque colonie doit être placée à une distance limitée d'une autre pour pouvoir 
 échanger ses ressources avec. Cette distance dépend du mode de transport choisi 
 échanger ses ressources avec. Cette distance dépend du mode de transport choisi 
 pour le transport des ressources (aérien, terrestre, naval...)
 pour le transport des ressources (aérien, terrestre, naval...)
-
-La population du dôme représente le niveau de dévelopement d'une colonie.
-Cette population est limitée par la présence de dômes d'habitation.
-Une part de cette population est active (70%?). Tous ces habitants actifs
-sont non-spécialisés par défaut, et peuvent accomplir certaines des tâches 
-de base (construire, exploiter...). Des centres de formations ou de l'immigration 
-spécialisée permettrent ensuite de faire fonctionner des bâtiments qui nécessitent 
-des gens formés, comme des chercheurs.

+ 10 - 1
doc/specs/ressources/readme.md → doc/specs/ressources.md

@@ -1,5 +1,14 @@
-Les ressources disponibles dans Orion:
+# Ressources
+
+## Type de ressources
+
+## Répartition des ressources
 
 
+## Raffinage
+
+## Liste des ressources
+
+Les ressources disponibles dans Orion:
 
 
 
 
 | Type | Nom | Statut | Commentaire |
 | Type | Nom | Statut | Commentaire |

+ 0 - 0
doc/specs/technologies/readme.md


+ 10 - 0
doc/specs/technos.md

@@ -0,0 +1,10 @@
+# Technologies
+
+Les technologies sont développées grâce aux centres de recherche construits 
+dans le dôme.
+
+## Recherche
+
+## Espionnage industriel
+
+## Liste des technologies

+ 8 - 0
doc/specs/transport.md

@@ -0,0 +1,8 @@
+# Transports
+
+## Principe des routes
+
+## Types de transport
+
+## Aménagements
+

+ 1 - 1
orion-server/core/apps.py

@@ -2,4 +2,4 @@ from django.apps import AppConfig
 
 
 
 
 class CoreConfig(AppConfig):
 class CoreConfig(AppConfig):
-    name = 'core'
+    name = 'core'

+ 6 - 4
orion-server/core/models.py

@@ -6,7 +6,7 @@ from django.db import models
 
 
 
 
 class BaseModel(models.Model):
 class BaseModel(models.Model):
-    id = models.UUIDField(default=uuid.uuid4, editable=False)
+    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
     created = models.DateTimeField(auto_now_add=True)
     created = models.DateTimeField(auto_now_add=True)
     updated = models.DateTimeField(auto_now=True)
     updated = models.DateTimeField(auto_now=True)
     objects = models.Manager()
     objects = models.Manager()
@@ -102,6 +102,9 @@ class DomeBuildingInstance(BaseModel):
 
 
 
 
 class LocalisedBaseModel(BaseModel):
 class LocalisedBaseModel(BaseModel):
+    class Meta:
+        abstract = True
+
     x = models.IntegerField()
     x = models.IntegerField()
     y = models.IntegerField()
     y = models.IntegerField()
 
 
@@ -159,10 +162,9 @@ class Route(BaseModel):
         verbose_name = "route"
         verbose_name = "route"
         verbose_name_plural = "routes"
         verbose_name_plural = "routes"
 
 
-    origin = models.ForeignKey(Colony, on_delete=models.PROTECT, verbose_name="OriginColony")
-    target = models.ForeignKey(Colony, on_delete=models.PROTECT, verbose_name="TargetColony")
+    origin = models.ForeignKey(Colony, on_delete=models.PROTECT, verbose_name="OriginColony", related_name="origin_for")
+    target = models.ForeignKey(Colony, on_delete=models.PROTECT, verbose_name="TargetColony", related_name="target_of")
     transport = models.ForeignKey(Transport, on_delete=models.PROTECT, verbose_name="Transport")
     transport = models.ForeignKey(Transport, on_delete=models.PROTECT, verbose_name="Transport")
 
 
     def __str__(self):
     def __str__(self):
         return f"<Route {self.origin.name}>{self.target.name} ({self.id})>"
         return f"<Route {self.origin.name}>{self.target.name} ({self.id})>"
-

+ 21 - 3
orion-server/core/urls.py

@@ -3,14 +3,32 @@
 @author: olinox, 2021
 @author: olinox, 2021
 """
 """
 from django.conf import settings
 from django.conf import settings
-from django.urls import path
+from django.urls import path, include
 from django.conf.urls.static import static
 from django.conf.urls.static import static
+from rest_framework import routers, serializers, viewsets
 
 
 from . import views
 from . import views
 
 
 
 
+# Serializers define the API representation.
+class UserSerializer(serializers.HyperlinkedModelSerializer):
+    class Meta:
+        model = User
+        fields = ['url', 'username', 'email', 'is_staff']
+
+
+# ViewSets define the view behavior.
+class UserViewSet(viewsets.ModelViewSet):
+    queryset = User.objects.all()
+    serializer_class = UserSerializer
+
+# Routers provide an easy way of automatically determining the URL conf.
+router = routers.DefaultRouter()
+router.register(r'users', UserViewSet)
+
+
+
 urlpatterns = [
 urlpatterns = [
-    
     path('', views.index, name='index'),
     path('', views.index, name='index'),
-
+    path('api-auth/', include('rest_framework.urls'))
 ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
 ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

+ 17 - 3
orion-server/orion/settings.py

@@ -25,7 +25,7 @@ SECRET_KEY = 'django-insecure-v5np^u7$vz^zd&rta_smu+89e%-h8npu)t9uw9=_5lhw@q3@7m
 # SECURITY WARNING: don't run with debug turned on in production!
 # SECURITY WARNING: don't run with debug turned on in production!
 DEBUG = True
 DEBUG = True
 
 
-ALLOWED_HOSTS = []
+ALLOWED_HOSTS = ['*']
 
 
 
 
 # Application definition
 # Application definition
@@ -37,6 +37,7 @@ INSTALLED_APPS = [
     'django.contrib.sessions',
     'django.contrib.sessions',
     'django.contrib.messages',
     'django.contrib.messages',
     'django.contrib.staticfiles',
     'django.contrib.staticfiles',
+    'rest_framework',
 ]
 ]
 
 
 MIDDLEWARE = [
 MIDDLEWARE = [
@@ -75,8 +76,12 @@ WSGI_APPLICATION = 'orion.wsgi.application'
 
 
 DATABASES = {
 DATABASES = {
     'default': {
     'default': {
-        'ENGINE': 'django.db.backends.sqlite3',
-        'NAME': BASE_DIR / 'db.sqlite3',
+        'ENGINE': 'django.db.backends.postgresql',
+        'NAME': 'orion',
+        'USER': 'postgres',
+        'PASSWORD': 'ZELPwkO4xTJdKvLoHFBu',
+        'HOST': '127.0.0.1',
+        'PORT': '5432',
     }
     }
 }
 }
 
 
@@ -123,3 +128,12 @@ STATIC_URL = '/static/'
 # https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field
 # https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field
 
 
 DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
 DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
+
+# Rest framework
+REST_FRAMEWORK = {
+    # Use Django's standard `django.contrib.auth` permissions,
+    # or allow read-only access for unauthenticated users.
+    'DEFAULT_PERMISSION_CLASSES': [
+        'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
+    ]
+}

+ 6 - 3
orion-server/requirements.txt

@@ -1,6 +1,9 @@
-psycopg2-binary
+psycopg2
 Django
 Django
 martor
 martor
 path.py
 path.py
-mod_wsgi
-django-notifications-hq
+#mod_wsgi
+django-notifications-hq
+djangorestframework
+markdown
+django-filter