This commit is contained in:
alazo 2018-08-14 11:55:16 +00:00 committed by GitHub
commit 283e4b7abd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
25 changed files with 945 additions and 14 deletions

2
.gitignore vendored
View file

@ -7,4 +7,4 @@ db.eds
db.*
*.sql
scripts/*
.idea/*

12
.idea/eds.iml generated Normal file
View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="jdk" jdkName="Python 3.6 (eds)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="TestRunnerService">
<option name="projectConfiguration" value="py.test" />
<option name="PROJECT_TEST_RUNNER" value="py.test" />
</component>
</module>

7
.idea/misc.xml generated Normal file
View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.6 (eds)" project-jdk-type="Python SDK" />
<component name="PyCharmProfessionalAdvertiser">
<option name="shown" value="true" />
</component>
</project>

8
.idea/modules.xml generated Normal file
View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/eds.iml" filepath="$PROJECT_DIR$/.idea/eds.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml generated Normal file
View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

644
.idea/workspace.xml generated Normal file
View file

@ -0,0 +1,644 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="0d3a8744-e240-44f4-9a39-7bc1c02ff58f" name="Default" comment="">
<change afterPath="$PROJECT_DIR$/intranet/migrations/0001_Add_Intranet_app.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/intranet/urls.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/intranet/views.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/templates/intranet/list.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cms/admin.py" beforeDir="false" afterPath="$PROJECT_DIR$/cms/admin.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cms/models.py" beforeDir="false" afterPath="$PROJECT_DIR$/cms/models.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cms/views.py" beforeDir="false" afterPath="$PROJECT_DIR$/cms/views.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/common/settings.py" beforeDir="false" afterPath="$PROJECT_DIR$/common/settings.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/common/urls.py" beforeDir="false" afterPath="$PROJECT_DIR$/common/urls.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/templates/cms/base_site.html" beforeDir="false" afterPath="$PROJECT_DIR$/templates/cms/base_site.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/templates/cms/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/templates/cms/index.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/templates/cms/module_detail.html" beforeDir="false" afterPath="$PROJECT_DIR$/templates/cms/module_detail.html" afterDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="FUSProjectUsageTrigger">
<session id="570586467">
<usages-collector id="statistics.lifecycle.project">
<counts>
<entry key="project.closed" value="4" />
<entry key="project.open.time.0" value="2" />
<entry key="project.open.time.1" value="2" />
<entry key="project.open.time.6" value="1" />
<entry key="project.opened" value="5" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.extensions.edit">
<counts>
<entry key="html" value="819" />
<entry key="py" value="6945" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.types.edit">
<counts>
<entry key="HTML" value="819" />
<entry key="Python" value="6945" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.extensions.open">
<counts>
<entry key="css" value="1" />
<entry key="html" value="15" />
<entry key="py" value="38" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.types.open">
<counts>
<entry key="CSS" value="1" />
<entry key="HTML" value="15" />
<entry key="Python" value="38" />
</counts>
</usages-collector>
</session>
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/intranet/views.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="570">
<caret line="30" lean-forward="true" selection-start-line="30" selection-end-line="30" />
<folding>
<element signature="e#0#32#0" expanded="true" />
<marker date="1532854155007" expanded="true" signature="258:325" ph="..." />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/templates/cms/base_site.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="589">
<caret line="31" column="35" selection-start-line="31" selection-start-column="35" selection-end-line="31" selection-end-column="35" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cms/forms.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="171">
<caret line="9" column="78" selection-start-line="9" selection-start-column="78" selection-end-line="9" selection-end-column="78" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/templates/intranet/list.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="95">
<caret line="5" column="6" selection-start-line="5" selection-start-column="6" selection-end-line="5" selection-end-column="6" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/common/settings.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="666">
<caret line="125" lean-forward="true" selection-start-line="125" selection-end-line="125" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/templates/cms/module_list.html">
<provider selected="true" editor-type-id="text-editor" />
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/intranet/admin.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="285">
<caret line="15" column="53" selection-start-line="15" selection-start-column="53" selection-end-line="15" selection-end-column="53" />
<folding>
<element signature="e#1#10#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cms/admin.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1653">
<caret line="87" selection-start-line="87" selection-end-line="87" />
<folding>
<element signature="e#1#33#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/templates/cms/module_detail.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1349">
<caret line="71" column="16" lean-forward="true" selection-start-line="71" selection-start-column="16" selection-end-line="71" selection-end-column="16" />
<folding>
<element signature="e#2869#2875#0" expanded="true" />
<element signature="e#2876#2882#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/intranet/models.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="152">
<caret line="8" lean-forward="true" selection-start-line="8" selection-end-line="8" />
<folding>
<element signature="e#0#43#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/templates/cms/docstudent_list.html" />
<option value="$PROJECT_DIR$/templates/cms/docprof_upload.html" />
<option value="$PROJECT_DIR$/cms/migrations/0010_Add_DocProf_model.py" />
<option value="$PROJECT_DIR$/templates/cms/docprof_list.html" />
<option value="$PROJECT_DIR$/templates/cms/intranet_list.html" />
<option value="$PROJECT_DIR$/cms/migrations/0012_Rename_DocPrProf.py" />
<option value="$PROJECT_DIR$/cms/migrations/0010_Rename_DocPrProf.py" />
<option value="$PROJECT_DIR$/templates/intranet/upload.html" />
<option value="$PROJECT_DIR$/cms/models.py" />
<option value="$PROJECT_DIR$/cms/views.py" />
<option value="$PROJECT_DIR$/templates/intranet/registration.html" />
<option value="$PROJECT_DIR$/intranet/forms.py" />
<option value="$PROJECT_DIR$/templates/cms/index.html" />
<option value="$PROJECT_DIR$/intranet/urls.py" />
<option value="$PROJECT_DIR$/common/urls.py" />
<option value="$PROJECT_DIR$/intranet/models.py" />
<option value="$PROJECT_DIR$/intranet/migrations/0001_Add_Intranet_app.py" />
<option value="$PROJECT_DIR$/templates/intranet/list.html" />
<option value="$PROJECT_DIR$/intranet/views.py" />
<option value="$PROJECT_DIR$/intranet/admin.py" />
<option value="$PROJECT_DIR$/cms/admin.py" />
<option value="$PROJECT_DIR$/cms/forms.py" />
<option value="$PROJECT_DIR$/common/settings.py" />
<option value="$PROJECT_DIR$/templates/cms/base_site.html" />
<option value="$PROJECT_DIR$/templates/cms/module_detail.html" />
</list>
</option>
</component>
<component name="ProjectFrameBounds" extendedState="6">
<option name="x" value="61" />
<option name="y" value="34" />
<option name="width" value="1867" />
<option name="height" value="1020" />
</component>
<component name="ProjectView">
<navigator proportions="" version="1">
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<expand>
<path>
<item name="eds" type="b2602c69:ProjectViewProjectNode" />
<item name="eds" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="eds" type="b2602c69:ProjectViewProjectNode" />
<item name="eds" type="462c0819:PsiDirectoryNode" />
<item name="cms" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="eds" type="b2602c69:ProjectViewProjectNode" />
<item name="eds" type="462c0819:PsiDirectoryNode" />
<item name="cms" type="462c0819:PsiDirectoryNode" />
<item name="migrations" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="eds" type="b2602c69:ProjectViewProjectNode" />
<item name="eds" type="462c0819:PsiDirectoryNode" />
<item name="cms" type="462c0819:PsiDirectoryNode" />
<item name="static" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="eds" type="b2602c69:ProjectViewProjectNode" />
<item name="eds" type="462c0819:PsiDirectoryNode" />
<item name="cms" type="462c0819:PsiDirectoryNode" />
<item name="static" type="462c0819:PsiDirectoryNode" />
<item name="css" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="eds" type="b2602c69:ProjectViewProjectNode" />
<item name="eds" type="462c0819:PsiDirectoryNode" />
<item name="cms" type="462c0819:PsiDirectoryNode" />
<item name="admin.py" type="8704e2dd:PyFileNode" />
</path>
<path>
<item name="eds" type="b2602c69:ProjectViewProjectNode" />
<item name="eds" type="462c0819:PsiDirectoryNode" />
<item name="cms" type="462c0819:PsiDirectoryNode" />
<item name="models.py" type="8704e2dd:PyFileNode" />
</path>
<path>
<item name="eds" type="b2602c69:ProjectViewProjectNode" />
<item name="eds" type="462c0819:PsiDirectoryNode" />
<item name="cms" type="462c0819:PsiDirectoryNode" />
<item name="views.py" type="8704e2dd:PyFileNode" />
</path>
<path>
<item name="eds" type="b2602c69:ProjectViewProjectNode" />
<item name="eds" type="462c0819:PsiDirectoryNode" />
<item name="common" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="eds" type="b2602c69:ProjectViewProjectNode" />
<item name="eds" type="462c0819:PsiDirectoryNode" />
<item name="intranet" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="eds" type="b2602c69:ProjectViewProjectNode" />
<item name="eds" type="462c0819:PsiDirectoryNode" />
<item name="intranet" type="462c0819:PsiDirectoryNode" />
<item name="migrations" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="eds" type="b2602c69:ProjectViewProjectNode" />
<item name="eds" type="462c0819:PsiDirectoryNode" />
<item name="templates" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="eds" type="b2602c69:ProjectViewProjectNode" />
<item name="eds" type="462c0819:PsiDirectoryNode" />
<item name="templates" type="462c0819:PsiDirectoryNode" />
<item name="cms" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="eds" type="b2602c69:ProjectViewProjectNode" />
<item name="eds" type="462c0819:PsiDirectoryNode" />
<item name="templates" type="462c0819:PsiDirectoryNode" />
<item name="registration" type="462c0819:PsiDirectoryNode" />
</path>
</expand>
<select />
</subPane>
</pane>
</panes>
</component>
<component name="PropertiesComponent">
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/templates/intranet" />
<recent name="$PROJECT_DIR$/templates/cms" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/templates/intranet" />
</key>
</component>
<component name="RunDashboard">
<option name="ruleStates">
<list>
<RuleState>
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
</RuleState>
<RuleState>
<option name="name" value="StatusDashboardGroupingRule" />
</RuleState>
</list>
</option>
</component>
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="0d3a8744-e240-44f4-9a39-7bc1c02ff58f" name="Default" comment="" />
<created>1531759633264</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1531759633264</updated>
</task>
<servers />
</component>
<component name="ToolWindowManager">
<frame x="61" y="25" width="1859" height="1055" extended-state="6" />
<layout>
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.24945533" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info id="Favorites" order="2" side_tool="true" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Find" order="1" visible="true" weight="0.32910052" />
<window_info anchor="bottom" id="Run" order="2" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="bottom" id="TODO" order="6" />
<window_info anchor="bottom" id="Terminal" order="7" />
<window_info anchor="bottom" id="Python Console" order="8" />
<window_info anchor="bottom" id="Version Control" order="9" />
<window_info anchor="bottom" id="Event Log" order="10" side_tool="true" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
</layout>
</component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/common/local_settings.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="418">
<caret line="22" selection-start-line="22" selection-end-line="22" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cms/apps.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file:///var/virtualenvs/eds/lib/python3.6/site-packages/django/forms/fields.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="362">
<caret line="534" column="8" selection-start-line="534" selection-start-column="8" selection-end-line="534" selection-end-column="8" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cms/migrations/0001_initial.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-2107" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cms/migrations/0002_auto_20170419_1333.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/cms/migrations/0003_auto_20170419_1409.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/cms/migrations/0006_auto_20170616_0906.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/cms/migrations/0005_auto_20170503_2043.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file:///var/virtualenvs/eds/lib/python3.6/site-packages/django/db/models/fields/files.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="779">
<caret line="51" column="52" selection-start-line="51" selection-start-column="52" selection-end-line="51" selection-end-column="52" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/manage.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file:///var/virtualenvs/eds/lib/python3.6/site-packages/django/db/models/__init__.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/templates/cms/competence_list.html">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/cms/migrations/0013_ReUpdate_IntranetDoc.py" />
<entry file="file://$PROJECT_DIR$/cms/migrations/0011_Change DocumentProf fields.py" />
<entry file="file://$PROJECT_DIR$/cms/migrations/0010_Add_DocProf_model.py" />
<entry file="file://$PROJECT_DIR$/cms/migrations/0008_extend_ressource_type.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/cms/migrations/0009_drop_unneeded_defaults.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="247">
<caret line="14" column="117" selection-start-line="14" selection-start-column="36" selection-end-line="14" selection-end-column="120" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cms/migrations/0010_Rename_DocPrProf.py" />
<entry file="file://$PROJECT_DIR$/templates/intranet/upload.html">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="19" selection-start-column="19" selection-end-column="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/intranet/apps.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file:///var/virtualenvs/eds/lib/python3.6/site-packages/django/contrib/staticfiles/storage.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="363">
<caret line="475" column="6" selection-start-line="475" selection-start-column="6" selection-end-line="475" selection-end-column="6" />
</state>
</provider>
</entry>
<entry file="file:///var/virtualenvs/eds/lib/python3.6/site-packages/django/core/files/storage.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2295">
<caret line="172" column="44" selection-start-line="171" selection-start-column="4" selection-end-line="172" selection-end-column="50" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/intranet/migrations/0001_New_Intranet_app.py" />
<entry file="file:///var/virtualenvs/eds/lib/python3.6/site-packages/django/views/generic/detail.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="133">
<caret line="11" column="4" selection-start-line="11" selection-start-column="4" selection-end-line="11" selection-end-column="4" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cms/views.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="836">
<caret line="55" column="18" selection-start-line="55" selection-start-column="18" selection-end-line="55" selection-end-column="18" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/templates/intranet/logged_out.html">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/templates/intranet/login.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="76">
<caret line="4" column="17" lean-forward="true" selection-start-line="4" selection-start-column="17" selection-end-line="4" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/intranet/forms.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="114">
<caret line="6" selection-start-line="6" selection-end-line="6" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/templates/cms/index.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1064">
<caret line="56" column="26" selection-start-line="56" selection-start-column="26" selection-end-line="56" selection-end-column="26" />
</state>
</provider>
</entry>
<entry file="file:///var/virtualenvs/eds/lib/python3.6/site-packages/django/contrib/auth/views.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1102">
<caret line="42" column="6" selection-start-line="42" selection-start-column="6" selection-end-line="42" selection-end-column="6" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cms/models.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1425">
<caret line="75" column="6" selection-start-line="75" selection-start-column="6" selection-end-line="75" selection-end-column="6" />
<folding>
<element signature="e#48#76#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/common/urls.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="171">
<caret line="9" column="37" selection-start-line="9" selection-start-column="37" selection-end-line="9" selection-end-column="37" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/intranet/urls.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="133">
<caret line="7" column="15" selection-start-line="7" selection-start-column="15" selection-end-line="7" selection-end-column="15" />
<folding>
<element signature="e#30#67#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/intranet/migrations/0002_auto_20180729_0936.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="285">
<caret line="15" column="20" selection-start-line="15" selection-start-column="12" selection-end-line="15" selection-end-column="150" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/intranet/migrations/0002_auto_20180729_0941.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="285">
<caret line="15" column="116" selection-start-line="15" selection-start-column="43" selection-end-line="15" selection-end-column="149" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/intranet/migrations/0001_Add_Intranet_app.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="532">
<caret line="30" column="5" lean-forward="true" selection-start-line="30" selection-start-column="5" selection-end-line="30" selection-end-column="5" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cms/static/css/main3.css">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2394">
<caret line="153" column="26" lean-forward="true" selection-start-line="153" selection-start-column="26" selection-end-line="153" selection-end-column="26" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/templates/intranet/list.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="95">
<caret line="5" column="6" selection-start-line="5" selection-start-column="6" selection-end-line="5" selection-end-column="6" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/templates/registration/login.html">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/intranet/admin.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="285">
<caret line="15" column="53" selection-start-line="15" selection-start-column="53" selection-end-line="15" selection-end-column="53" />
<folding>
<element signature="e#1#10#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cms/admin.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1653">
<caret line="87" selection-start-line="87" selection-end-line="87" />
<folding>
<element signature="e#1#33#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/intranet/models.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="152">
<caret line="8" lean-forward="true" selection-start-line="8" selection-end-line="8" />
<folding>
<element signature="e#0#43#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cms/forms.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="171">
<caret line="9" column="78" selection-start-line="9" selection-start-column="78" selection-end-line="9" selection-end-column="78" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/common/settings.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="666">
<caret line="125" lean-forward="true" selection-start-line="125" selection-end-line="125" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/templates/cms/base_site.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="589">
<caret line="31" column="35" selection-start-line="31" selection-start-column="35" selection-end-line="31" selection-end-column="35" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/intranet/views.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="570">
<caret line="30" lean-forward="true" selection-start-line="30" selection-end-line="30" />
<folding>
<element signature="e#0#32#0" expanded="true" />
<marker date="1532854155007" expanded="true" signature="258:325" ph="..." />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/templates/cms/module_list.html">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/templates/cms/module_detail.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1349">
<caret line="71" column="16" lean-forward="true" selection-start-line="71" selection-start-column="16" selection-end-line="71" selection-end-column="16" />
<folding>
<element signature="e#2869#2875#0" expanded="true" />
<element signature="e#2876#2882#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</component>
</project>

View file

@ -85,8 +85,7 @@ class ConceptAdmin(admin.ModelAdmin):
class UploadAdmin(admin.ModelAdmin):
form = UploadAdminForm
admin.site.register(Enseignant)
admin.site.register(Domaine, DomaineAdmin)
admin.site.register(Competence, CompetenceAdmin)

View file

@ -6,7 +6,6 @@ Created on 17 nov. 2012
from django.db import models
from django.utils.html import format_html
from tinymce import models as tinymce_models

View file

@ -6,7 +6,6 @@ Created on 4 déc. 2012
import os
import tempfile
from django.db.models import Sum
from django.http import HttpResponse
from django.views.generic import ListView, TemplateView, DetailView

View file

@ -24,6 +24,7 @@ INSTALLED_APPS = [
'django.contrib.staticfiles',
'tinymce',
'cms',
'intranet',
]
@ -123,5 +124,6 @@ TINYMCE_COMPRESSOR = True
PDF_FOOTER_TEXT = 'Ecole Santé-social Pierre-Coullery | Prévoyance 82 - 2300 La Chaux-de-Fonds | 032 886 33 00 | cifom-epc@rpn.ch'
LOGIN_REDIRECT_URL = '/intranet/list/'
from .local_settings import *

View file

@ -2,15 +2,19 @@
"""
import os
from django.urls import path, include
from django.contrib import admin
from django.conf import settings
from django.contrib import admin
from django.contrib.auth.views import LoginView, logout
from django.urls import path, include
from django.views.static import serve
from cms import views
urlpatterns = [
path('', views.HomeView.as_view(), name='home'),
path('login/', LoginView.as_view(), name='login'),
path('logout/', logout, {'next_page': '/'}, name='logout'),
path('plan_pdf/', views.print_plan_formation, name='plan-pdf'),
path('admin/', admin.site.urls),
path('domaine/<int:pk>/', views.DomaineDetailView.as_view(), name='domaine-detail'),
@ -28,8 +32,11 @@ urlpatterns = [
path('upload/', views.UploadDocListView.as_view(), name='uploaddoc-list'),
path('concept/<int:pk>/', views.ConceptDetailView.as_view(), name='concept-detail'),
path('tinymce/', include('tinymce.urls'), name='tinymce-js'),
path('intranet/', include('intranet.urls'), name='intranet'),
# Serve docs by Django to allow LoginRequiredMiddleware to apply
path('media/intranet/<path:path>', serve,
{'document_root': os.path.join(settings.MEDIA_ROOT, 'intranet'), 'show_indexes': False}
),
path('media/doc/<path:path>', serve,
{'document_root': os.path.join(settings.MEDIA_ROOT, 'doc'), 'show_indexes': False}
),

0
intranet/__init__.py Normal file
View file

32
intranet/admin.py Normal file
View file

@ -0,0 +1,32 @@
import os
from django.conf import settings
from django.contrib import admin
from intranet.models import IntranetDoc
# Register your models here.
class IntranetDocAdmin(admin.ModelAdmin):
list_display = ('__str__', 'module', 'authorization')
def save_model(self, request, obj, form, change):
searched_file = 'intranet/{0}'.format(form.cleaned_data['doc'])
try:
doc = IntranetDoc.objects.get(doc=searched_file)
form.save()
# Override previous file
filename = os.path.join(settings.MEDIA_ROOT, searched_file)
file = request.FILES['doc']
with open(filename, 'wb+') as destination:
for chunk in file.chunks():
destination.write(chunk)
except IntranetDoc.DoesNotExist:
super(IntranetDocAdmin, self).save_model(request, obj, form, change)
admin.site.register(IntranetDoc, IntranetDocAdmin)

5
intranet/apps.py Normal file
View file

@ -0,0 +1,5 @@
from django.apps import AppConfig
class IntranetConfig(AppConfig):
name = 'intranet'

View file

@ -0,0 +1,31 @@
# Generated by Django 2.0.6 on 2018-07-28 11:31
from django.db import migrations, models
import django.db.models.deletion
import intranet.models
class Migration(migrations.Migration):
initial = True
dependencies = [
('cms', '0009_drop_unneeded_defaults'),
]
operations = [
migrations.CreateModel(
name='IntranetDoc',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('doc', models.FileField(unique=True, upload_to='intranet')),
('published', models.BooleanField(default=True)),
('authorization', models.SmallIntegerField(choices=[(3, 'admin'), (0, 'aucun'), (1, 'étudiant'), (2, 'prof')], default=0, verbose_name='autorisation')),
('module', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='cms.Module')),
],
options={
'verbose_name': 'Intranet',
'verbose_name_plural': 'Intranet',
},
),
]

View file

36
intranet/models.py Normal file
View file

@ -0,0 +1,36 @@
from django.contrib.auth.models import User
from django.db import models
from django.db.models.signals import pre_delete
from django.dispatch import receiver
from cms.models import Module
# Create your models here.
class IntranetDoc(models.Model):
AUTHORIZATION_CHOICES = {
(0, 'aucun'),
(1, 'étudiant'),
(2, 'prof'),
(3, 'admin')
}
doc = models.FileField(upload_to='intranet', unique=True)
module = models.ForeignKey(Module, null=False, on_delete=models.PROTECT)
published = models.BooleanField(default=True, blank=False)
authorization = models.SmallIntegerField("autorisation", choices=AUTHORIZATION_CHOICES, default=0)
class Meta:
verbose_name = 'Intranet'
verbose_name_plural = 'Intranet'
def __str__(self):
return self.doc.name
@receiver(pre_delete, sender=IntranetDoc)
def remove_file(**kwargs):
instance = kwargs.get('instance')
instance.doc.delete(save=False)

3
intranet/tests.py Normal file
View file

@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.

10
intranet/urls.py Normal file
View file

@ -0,0 +1,10 @@
"""eds URL Configuration
"""
from django.urls import path
from intranet import views
urlpatterns = [
path('list/', views.IntranetListView.as_view(), name='intranet-list'),
]

39
intranet/views.py Normal file
View file

@ -0,0 +1,39 @@
from django.conf import settings
from django.views.generic import ListView
from cms.models import Module
from intranet.models import IntranetDoc
from django.contrib.auth.mixins import LoginRequiredMixin
class IntranetListView(LoginRequiredMixin, ListView):
model = IntranetDoc
template_name = 'intranet/list.html'
login_url = '/login/'
redirect_field_name = 'redirecto_to'
def get_queryset(self):
modules = Module.objects.all().order_by('code')
groups = self.request.user.groups.values_list('name',flat=True)
if self.request.user.is_superuser:
return IntranetDoc.objects.filter(authorization__in=[1,2,3],
published=True)
if 'prof' in groups:
return IntranetDoc.objects.filter(authorization__in=[1,2],
published=True)
if 'Student_1_year' in groups or 'Student_2_year' in groups or 'Student_3_year' in groups:
modules_selected = []
student_access = {'Student_1_year': [m for m in modules if m.sem1 > 0 or m.sem2 > 0],
'Student_2_year': [m for m in modules if m.sem3 > 0 or m.sem4 > 0],
'Student_3_year': [m for m in modules if m.sem5 > 0 or m.sem6 > 0]
}
for group in groups:
for mod in student_access[group]: #settings.STUDENT_ACCESS[group]:
modules_selected.append(mod.code)
return IntranetDoc.objects.filter(module__code__in=modules_selected,
authorization=1,
published=True)
return None

View file

@ -9,9 +9,9 @@
<div id="user-tools">
{% if user.is_authenticated %}
{% block welcome-msg %}Bienvenue <strong>{% firstof user.username %}</strong>.{% endblock %}
<a href="{% url 'home' %}">Site public</a>&nbsp;&nbsp;<a href="{% url 'admin:index' %}">Admin</a>
<a href="{% url 'logout' %}">Déconnexion</a>&nbsp;
{% else %}
<a href="{% url 'admin:index' %}">Admin</a>
<a href="{% url 'login' %}">Login</a>
{% endif %}
</div>
{% endblock %}
@ -29,8 +29,8 @@
<li><a href="{% url 'concept-detail' 1 %}">Concept pédagogique</a>&nbsp;&nbsp;</li>
<li><a href="{% url 'concept-detail' 2 %}">Concept de formation</a>&nbsp;&nbsp;</li>
<li><a href="{% url 'uploaddoc-list' %}">Téléchargements</a>&nbsp;&nbsp;</li>
{% if has_permission %}
<li><a href="#">Calendrier</a>&nbsp;&nbsp;</li>
{% if user.is_superuser %}
<li><a href="{% url 'admin:index' %}">Administration</a></li>
{% endif %}
</ul>
</div>

View file

@ -54,7 +54,7 @@
</tr>
<!-- Ligne 2 -->
<tr>
<td rowspan="3" class="l2 d">{{ D2.url }}</td>
<td rowspan="2" class="l2 d">{{ D2.url }}</td>
<td class="l2 p">{{ P03.url }}</td>
<td class="l2 m">{{ M05.url_code }}</td>
<td>&nbsp;</td>

View file

@ -85,7 +85,10 @@
<td>{{ object.processus.domaine.responsable.descr|safe }}</td>
</tr>
</table>
<p><a href="{% url 'module-pdf' object.id %}">Imprimer en PDF</a></p>
<p>
<a href="{% url 'module-pdf' object.id %}">Imprimer en PDF</a>
&nbsp;&nbsp; &nbsp;<a href="{% url 'intranet-list' %}">Documents de cours (login requis)</a>
</p>
</div>
{% endblock %}

View file

@ -0,0 +1,23 @@
{% extends "../cms/base_site.html" %}
{% load i18n static %}
{% block content %}
<style type="text/css">
ul li {float: none;}
</style>
<div id="content-main">
<h1>Documents de cours</h1>
{% regroup object_list by module as module_list %}
<ul>
{% for module in module_list %}
<li><h3>{{ module.grouper }}</h3>
<ol>
{% for doc in module.list %}
<li><a href="{{ doc.doc.url }}">{{ doc.doc.name }} ({{ doc.get_authorization_display }})</a></li>
{% endfor %}
</ol>
</li>
{% endfor %}
</ul>
</div>
{% endblock %}

View file

@ -0,0 +1,66 @@
{% extends "admin/base_site.html" %}
{% load i18n static %}
{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/login.css" %}" />
{{ form.media }}
{% endblock %}
{% block bodyclass %}{{ block.super }} login{% endblock %}
{% block usertools %}{% endblock %}
{% block nav-global %}{% endblock %}
{% block content_title %}{% endblock %}
{% block breadcrumbs %}{% endblock %}
{% block content %}
{% if form.errors and not form.non_field_errors %}
<p class="errornote">
{% if form.errors.items|length == 1 %}{% trans "Please correct the error below." %}{% else %}{% trans "Please correct the errors below." %}{% endif %}
</p>
{% endif %}
{% if form.non_field_errors %}
{% for error in form.non_field_errors %}
<p class="errornote">
{{ error }}
</p>
{% endfor %}
{% endif %}
<div id="content-main">
{% if user.is_authenticated %}
<p class="errornote">
{% blocktrans trimmed %}
You are authenticated as {{ username }}, but are not authorized to
access this page. Would you like to login to a different account?
{% endblocktrans %}
</p>
{% endif %}
<form action="{{ app_path }}" method="post" id="login-form">{% csrf_token %}
<div class="form-row">
{{ form.username.errors }}
{{ form.username.label_tag }} {{ form.username }}
</div>
<div class="form-row">
{{ form.password.errors }}
{{ form.password.label_tag }} {{ form.password }}
<input type="hidden" name="next" value="{{ next }}" />
</div>
{% url 'admin_password_reset' as password_reset_url %}
{% if password_reset_url %}
<div class="password-reset-link">
<a href="{{ password_reset_url }}">{% trans 'Forgotten your password or username?' %}</a>
</div>
{% endif %}
<div class="submit-row">
<label>&nbsp;</label><input type="submit" value="{% trans 'Log in' %}" />
</div>
</form>
</div>
{% endblock %}