summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.idea/FOSSEE_animations.iml4
-rw-r--r--.idea/dataSources.local.xml17
-rw-r--r--.idea/dataSources.xml21
-rw-r--r--.idea/dataSources/c2ec2b16-9a8a-4975-be60-2a0417af82c8.xml954
-rw-r--r--.idea/misc.xml4
-rw-r--r--.idea/workspace.xml95
-rw-r--r--fossee_manim/forms.py65
-rw-r--r--fossee_manim/models.py140
-rw-r--r--fossee_manim/static/css/index.css10
-rw-r--r--fossee_manim/templates/fossee_manim/about.html15
-rw-r--r--fossee_manim/templates/fossee_manim/base.html144
-rw-r--r--fossee_manim/templates/fossee_manim/delete_proposal.html2
-rw-r--r--fossee_manim/templates/fossee_manim/faqs.html5
-rw-r--r--fossee_manim/templates/fossee_manim/honorarium.html15
-rw-r--r--fossee_manim/templates/fossee_manim/index.html21
-rw-r--r--fossee_manim/templates/fossee_manim/logout.html2
-rw-r--r--fossee_manim/templates/fossee_manim/outreach.html7
-rw-r--r--fossee_manim/templates/fossee_manim/proposal_status.html2
-rw-r--r--fossee_manim/urls.py21
-rw-r--r--fossee_manim/views.py236
20 files changed, 1592 insertions, 188 deletions
diff --git a/.idea/FOSSEE_animations.iml b/.idea/FOSSEE_animations.iml
index 455ff31..03a8da7 100644
--- a/.idea/FOSSEE_animations.iml
+++ b/.idea/FOSSEE_animations.iml
@@ -14,7 +14,11 @@
</component>
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
+<<<<<<< HEAD
+ <orderEntry type="jdk" jdkName="Python 2.7" jdkType="Python SDK" />
+=======
<orderEntry type="inheritedJdk" />
+>>>>>>> f79913639bc283c945a392d641e84b0a70a97eda
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="TemplatesService">
diff --git a/.idea/dataSources.local.xml b/.idea/dataSources.local.xml
new file mode 100644
index 0000000..d91079c
--- /dev/null
+++ b/.idea/dataSources.local.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="dataSourceStorageLocal">
+ <data-source name="Django default" uuid="c2ec2b16-9a8a-4975-be60-2a0417af82c8">
+ <database-info product="SQLite" version="3.25.1" jdbc-version="2.1" driver-name="SQLite JDBC" driver-version="3.25.1" dbms="SQLITE" exact-version="3.25.1" exact-driver-version="3.25">
+ <identifier-quote-string>&quot;</identifier-quote-string>
+ </database-info>
+ <case-sensitivity plain-identifiers="mixed" quoted-identifiers="mixed" />
+ <auth-required>false</auth-required>
+ <schema-mapping>
+ <introspection-scope>
+ <node kind="schema" qname="@" />
+ </introspection-scope>
+ </schema-mapping>
+ </data-source>
+ </component>
+</project> \ No newline at end of file
diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml
index 954cdfa..ab6c21f 100644
--- a/.idea/dataSources.xml
+++ b/.idea/dataSources.xml
@@ -1,7 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
+<<<<<<< HEAD
+ <data-source source="LOCAL" name="db" uuid="3317de75-8f14-4f8c-8836-39847d18f321">
+ <driver-ref>sqlite.xerial</driver-ref>
+ <synchronize>true</synchronize>
+ <jdbc-driver>org.sqlite.JDBC</jdbc-driver>
+ <jdbc-url>jdbc:sqlite:$PROJECT_DIR$/db.sqlite3</jdbc-url>
+ <driver-properties>
+ <property name="enable_load_extension" value="true" />
+ </driver-properties>
+ <libraries>
+ <library>
+ <url>file://$APPLICATION_CONFIG_DIR$/jdbc-drivers/Xerial SQLiteJDBC/3.25.1/sqlite-jdbc-3.25.1.jar</url>
+ </library>
+ <library>
+ <url>file://$APPLICATION_CONFIG_DIR$/jdbc-drivers/Xerial SQLiteJDBC/3.25.1/license.txt</url>
+ </library>
+ </libraries>
+ </data-source>
+ <data-source source="LOCAL" name="Django default" uuid="ae398c8c-5a45-44f5-9195-355716353d9a">
+=======
<data-source source="LOCAL" name="Django default" uuid="c2ec2b16-9a8a-4975-be60-2a0417af82c8">
+>>>>>>> f79913639bc283c945a392d641e84b0a70a97eda
<driver-ref>sqlite.xerial</driver-ref>
<synchronize>true</synchronize>
<imported>true</imported>
diff --git a/.idea/dataSources/c2ec2b16-9a8a-4975-be60-2a0417af82c8.xml b/.idea/dataSources/c2ec2b16-9a8a-4975-be60-2a0417af82c8.xml
new file mode 100644
index 0000000..766dfa4
--- /dev/null
+++ b/.idea/dataSources/c2ec2b16-9a8a-4975-be60-2a0417af82c8.xml
@@ -0,0 +1,954 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<dataSource name="Django default">
+ <database-model serializer="dbm" dbms="SQLITE" family-id="SQLITE" format-version="4.16">
+ <root id="1">
+ <ServerVersion>3.25.1</ServerVersion>
+ </root>
+ <schema id="2" parent="1" name="main">
+ <Current>1</Current>
+ </schema>
+ <collation id="3" parent="1" name="BINARY"/>
+ <collation id="4" parent="1" name="NOCASE"/>
+ <collation id="5" parent="1" name="RTRIM"/>
+ <table id="6" parent="2" name="auth_group"/>
+ <table id="7" parent="2" name="auth_group_permissions"/>
+ <table id="8" parent="2" name="auth_permission"/>
+ <table id="9" parent="2" name="auth_user"/>
+ <table id="10" parent="2" name="auth_user_groups"/>
+ <table id="11" parent="2" name="auth_user_user_permissions"/>
+ <table id="12" parent="2" name="django_admin_log"/>
+ <table id="13" parent="2" name="django_content_type"/>
+ <table id="14" parent="2" name="django_migrations"/>
+ <table id="15" parent="2" name="django_session"/>
+ <table id="16" parent="2" name="fossee_manim_animation"/>
+ <table id="17" parent="2" name="fossee_manim_animationstats"/>
+ <table id="18" parent="2" name="fossee_manim_category"/>
+ <table id="19" parent="2" name="fossee_manim_comment"/>
+ <table id="20" parent="2" name="fossee_manim_historicalanimation"/>
+ <table id="21" parent="2" name="fossee_manim_profile"/>
+ <table id="22" parent="2" name="sqlite_master">
+ <System>1</System>
+ </table>
+ <table id="23" parent="2" name="sqlite_sequence">
+ <System>1</System>
+ </table>
+ <table id="24" parent="2" name="taggit_tag"/>
+ <table id="25" parent="2" name="taggit_taggeditem"/>
+ <column id="26" parent="6" name="id">
+ <Position>1</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ <SequenceIdentity>1</SequenceIdentity>
+ </column>
+ <column id="27" parent="6" name="name">
+ <Position>2</Position>
+ <DataType>varchar(80)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <index id="28" parent="6" name="sqlite_autoindex_auth_group_1">
+ <NameSurrogate>1</NameSurrogate>
+ <ColNames>name</ColNames>
+ <ColumnCollations></ColumnCollations>
+ <Unique>1</Unique>
+ </index>
+ <key id="29" parent="6">
+ <ColNames>id</ColNames>
+ <Primary>1</Primary>
+ </key>
+ <key id="30" parent="6">
+ <ColNames>name</ColNames>
+ <UnderlyingIndexName>sqlite_autoindex_auth_group_1</UnderlyingIndexName>
+ </key>
+ <column id="31" parent="7" name="id">
+ <Position>1</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ <SequenceIdentity>1</SequenceIdentity>
+ </column>
+ <column id="32" parent="7" name="group_id">
+ <Position>2</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="33" parent="7" name="permission_id">
+ <Position>3</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <index id="34" parent="7" name="auth_group_permissions_group_id_permission_id_0cd325b0_uniq">
+ <ColNames>group_id
+permission_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ <Unique>1</Unique>
+ </index>
+ <index id="35" parent="7" name="auth_group_permissions_group_id_b120cbf9">
+ <ColNames>group_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <index id="36" parent="7" name="auth_group_permissions_permission_id_84c5c92e">
+ <ColNames>permission_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <key id="37" parent="7">
+ <ColNames>id</ColNames>
+ <Primary>1</Primary>
+ </key>
+ <foreign-key id="38" parent="7">
+ <ColNames>group_id</ColNames>
+ <RefTableName>auth_group</RefTableName>
+ <RefColNames>id</RefColNames>
+ </foreign-key>
+ <foreign-key id="39" parent="7">
+ <ColNames>permission_id</ColNames>
+ <RefTableName>auth_permission__old</RefTableName>
+ <RefColNames>id</RefColNames>
+ </foreign-key>
+ <column id="40" parent="8" name="id">
+ <Position>1</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ <SequenceIdentity>1</SequenceIdentity>
+ </column>
+ <column id="41" parent="8" name="content_type_id">
+ <Position>2</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="42" parent="8" name="codename">
+ <Position>3</Position>
+ <DataType>varchar(100)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="43" parent="8" name="name">
+ <Position>4</Position>
+ <DataType>varchar(255)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <index id="44" parent="8" name="auth_permission_content_type_id_codename_01ab375a_uniq">
+ <ColNames>content_type_id
+codename</ColNames>
+ <ColumnCollations></ColumnCollations>
+ <Unique>1</Unique>
+ </index>
+ <index id="45" parent="8" name="auth_permission_content_type_id_2f476e4b">
+ <ColNames>content_type_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <key id="46" parent="8">
+ <ColNames>id</ColNames>
+ <Primary>1</Primary>
+ </key>
+ <foreign-key id="47" parent="8">
+ <ColNames>content_type_id</ColNames>
+ <RefTableName>django_content_type</RefTableName>
+ <RefColNames>id</RefColNames>
+ </foreign-key>
+ <column id="48" parent="9" name="id">
+ <Position>1</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ <SequenceIdentity>1</SequenceIdentity>
+ </column>
+ <column id="49" parent="9" name="password">
+ <Position>2</Position>
+ <DataType>varchar(128)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="50" parent="9" name="last_login">
+ <Position>3</Position>
+ <DataType>datetime|0s</DataType>
+ </column>
+ <column id="51" parent="9" name="is_superuser">
+ <Position>4</Position>
+ <DataType>bool|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="52" parent="9" name="first_name">
+ <Position>5</Position>
+ <DataType>varchar(30)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="53" parent="9" name="last_name">
+ <Position>6</Position>
+ <DataType>varchar(30)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="54" parent="9" name="email">
+ <Position>7</Position>
+ <DataType>varchar(254)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="55" parent="9" name="is_staff">
+ <Position>8</Position>
+ <DataType>bool|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="56" parent="9" name="is_active">
+ <Position>9</Position>
+ <DataType>bool|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="57" parent="9" name="date_joined">
+ <Position>10</Position>
+ <DataType>datetime|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="58" parent="9" name="username">
+ <Position>11</Position>
+ <DataType>varchar(150)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <index id="59" parent="9" name="sqlite_autoindex_auth_user_1">
+ <NameSurrogate>1</NameSurrogate>
+ <ColNames>username</ColNames>
+ <ColumnCollations></ColumnCollations>
+ <Unique>1</Unique>
+ </index>
+ <key id="60" parent="9">
+ <ColNames>id</ColNames>
+ <Primary>1</Primary>
+ </key>
+ <key id="61" parent="9">
+ <ColNames>username</ColNames>
+ <UnderlyingIndexName>sqlite_autoindex_auth_user_1</UnderlyingIndexName>
+ </key>
+ <column id="62" parent="10" name="id">
+ <Position>1</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ <SequenceIdentity>1</SequenceIdentity>
+ </column>
+ <column id="63" parent="10" name="user_id">
+ <Position>2</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="64" parent="10" name="group_id">
+ <Position>3</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <index id="65" parent="10" name="auth_user_groups_user_id_group_id_94350c0c_uniq">
+ <ColNames>user_id
+group_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ <Unique>1</Unique>
+ </index>
+ <index id="66" parent="10" name="auth_user_groups_user_id_6a12ed8b">
+ <ColNames>user_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <index id="67" parent="10" name="auth_user_groups_group_id_97559544">
+ <ColNames>group_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <key id="68" parent="10">
+ <ColNames>id</ColNames>
+ <Primary>1</Primary>
+ </key>
+ <foreign-key id="69" parent="10">
+ <ColNames>user_id</ColNames>
+ <RefTableName>auth_user__old</RefTableName>
+ <RefColNames>id</RefColNames>
+ </foreign-key>
+ <foreign-key id="70" parent="10">
+ <ColNames>group_id</ColNames>
+ <RefTableName>auth_group</RefTableName>
+ <RefColNames>id</RefColNames>
+ </foreign-key>
+ <column id="71" parent="11" name="id">
+ <Position>1</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ <SequenceIdentity>1</SequenceIdentity>
+ </column>
+ <column id="72" parent="11" name="user_id">
+ <Position>2</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="73" parent="11" name="permission_id">
+ <Position>3</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <index id="74" parent="11" name="auth_user_user_permissions_user_id_permission_id_14a6b632_uniq">
+ <ColNames>user_id
+permission_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ <Unique>1</Unique>
+ </index>
+ <index id="75" parent="11" name="auth_user_user_permissions_user_id_a95ead1b">
+ <ColNames>user_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <index id="76" parent="11" name="auth_user_user_permissions_permission_id_1fbb5f2c">
+ <ColNames>permission_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <key id="77" parent="11">
+ <ColNames>id</ColNames>
+ <Primary>1</Primary>
+ </key>
+ <foreign-key id="78" parent="11">
+ <ColNames>user_id</ColNames>
+ <RefTableName>auth_user__old</RefTableName>
+ <RefColNames>id</RefColNames>
+ </foreign-key>
+ <foreign-key id="79" parent="11">
+ <ColNames>permission_id</ColNames>
+ <RefTableName>auth_permission__old</RefTableName>
+ <RefColNames>id</RefColNames>
+ </foreign-key>
+ <column id="80" parent="12" name="id">
+ <Position>1</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ <SequenceIdentity>1</SequenceIdentity>
+ </column>
+ <column id="81" parent="12" name="object_id">
+ <Position>2</Position>
+ <DataType>text|0s</DataType>
+ </column>
+ <column id="82" parent="12" name="object_repr">
+ <Position>3</Position>
+ <DataType>varchar(200)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="83" parent="12" name="action_flag">
+ <Position>4</Position>
+ <DataType>smallint unsigned|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="84" parent="12" name="change_message">
+ <Position>5</Position>
+ <DataType>text|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="85" parent="12" name="content_type_id">
+ <Position>6</Position>
+ <DataType>integer|0s</DataType>
+ </column>
+ <column id="86" parent="12" name="user_id">
+ <Position>7</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="87" parent="12" name="action_time">
+ <Position>8</Position>
+ <DataType>datetime|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <index id="88" parent="12" name="django_admin_log_content_type_id_c4bce8eb">
+ <ColNames>content_type_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <index id="89" parent="12" name="django_admin_log_user_id_c564eba6">
+ <ColNames>user_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <key id="90" parent="12">
+ <ColNames>id</ColNames>
+ <Primary>1</Primary>
+ </key>
+ <foreign-key id="91" parent="12">
+ <ColNames>content_type_id</ColNames>
+ <RefTableName>django_content_type__old</RefTableName>
+ <RefColNames>id</RefColNames>
+ </foreign-key>
+ <foreign-key id="92" parent="12">
+ <ColNames>user_id</ColNames>
+ <RefTableName>auth_user__old</RefTableName>
+ <RefColNames>id</RefColNames>
+ </foreign-key>
+ <column id="93" parent="13" name="id">
+ <Position>1</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ <SequenceIdentity>1</SequenceIdentity>
+ </column>
+ <column id="94" parent="13" name="app_label">
+ <Position>2</Position>
+ <DataType>varchar(100)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="95" parent="13" name="model">
+ <Position>3</Position>
+ <DataType>varchar(100)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <index id="96" parent="13" name="django_content_type_app_label_model_76bd3d3b_uniq">
+ <ColNames>app_label
+model</ColNames>
+ <ColumnCollations></ColumnCollations>
+ <Unique>1</Unique>
+ </index>
+ <key id="97" parent="13">
+ <ColNames>id</ColNames>
+ <Primary>1</Primary>
+ </key>
+ <column id="98" parent="14" name="id">
+ <Position>1</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ <SequenceIdentity>1</SequenceIdentity>
+ </column>
+ <column id="99" parent="14" name="app">
+ <Position>2</Position>
+ <DataType>varchar(255)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="100" parent="14" name="name">
+ <Position>3</Position>
+ <DataType>varchar(255)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="101" parent="14" name="applied">
+ <Position>4</Position>
+ <DataType>datetime|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <key id="102" parent="14">
+ <ColNames>id</ColNames>
+ <Primary>1</Primary>
+ </key>
+ <column id="103" parent="15" name="session_key">
+ <Position>1</Position>
+ <DataType>varchar(40)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="104" parent="15" name="session_data">
+ <Position>2</Position>
+ <DataType>text|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="105" parent="15" name="expire_date">
+ <Position>3</Position>
+ <DataType>datetime|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <index id="106" parent="15" name="sqlite_autoindex_django_session_1">
+ <NameSurrogate>1</NameSurrogate>
+ <ColNames>session_key</ColNames>
+ <ColumnCollations></ColumnCollations>
+ <Unique>1</Unique>
+ </index>
+ <index id="107" parent="15" name="django_session_expire_date_a5c62663">
+ <ColNames>expire_date</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <key id="108" parent="15">
+ <ColNames>session_key</ColNames>
+ <Primary>1</Primary>
+ <UnderlyingIndexName>sqlite_autoindex_django_session_1</UnderlyingIndexName>
+ </key>
+ <column id="109" parent="16" name="id">
+ <Position>1</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ <SequenceIdentity>1</SequenceIdentity>
+ </column>
+ <column id="110" parent="16" name="title">
+ <Position>2</Position>
+ <DataType>varchar(255)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="111" parent="16" name="status">
+ <Position>3</Position>
+ <DataType>varchar(255)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="112" parent="16" name="subcategory">
+ <Position>4</Position>
+ <DataType>varchar(255)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="113" parent="16" name="created">
+ <Position>5</Position>
+ <DataType>datetime|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="114" parent="16" name="category_id">
+ <Position>6</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="115" parent="16" name="contributor_id">
+ <Position>7</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="116" parent="16" name="reviewer_id">
+ <Position>8</Position>
+ <DataType>integer|0s</DataType>
+ </column>
+ <column id="117" parent="16" name="outline">
+ <Position>9</Position>
+ <DataType>text|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <index id="118" parent="16" name="fossee_manim_animation_category_id_b6a03fe4">
+ <ColNames>category_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <index id="119" parent="16" name="fossee_manim_animation_contributor_id_9731401b">
+ <ColNames>contributor_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <index id="120" parent="16" name="fossee_manim_animation_reviewer_id_409a668a">
+ <ColNames>reviewer_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <key id="121" parent="16">
+ <ColNames>id</ColNames>
+ <Primary>1</Primary>
+ </key>
+ <foreign-key id="122" parent="16">
+ <ColNames>category_id</ColNames>
+ <RefTableName>fossee_manim_category</RefTableName>
+ <RefColNames>id</RefColNames>
+ </foreign-key>
+ <foreign-key id="123" parent="16">
+ <ColNames>contributor_id</ColNames>
+ <RefTableName>auth_user</RefTableName>
+ <RefColNames>id</RefColNames>
+ </foreign-key>
+ <foreign-key id="124" parent="16">
+ <ColNames>reviewer_id</ColNames>
+ <RefTableName>auth_user</RefTableName>
+ <RefColNames>id</RefColNames>
+ </foreign-key>
+ <column id="125" parent="17" name="id">
+ <Position>1</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ <SequenceIdentity>1</SequenceIdentity>
+ </column>
+ <column id="126" parent="17" name="views">
+ <Position>2</Position>
+ <DataType>integer unsigned|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="127" parent="17" name="like">
+ <Position>3</Position>
+ <DataType>integer unsigned|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="128" parent="17" name="dislike">
+ <Position>4</Position>
+ <DataType>integer unsigned|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="129" parent="17" name="thumbnail">
+ <Position>5</Position>
+ <DataType>varchar(100)|0s</DataType>
+ </column>
+ <column id="130" parent="17" name="video_path">
+ <Position>6</Position>
+ <DataType>varchar(100)|0s</DataType>
+ </column>
+ <column id="131" parent="17" name="animation_id">
+ <Position>7</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <key id="132" parent="17">
+ <ColNames>id</ColNames>
+ <Primary>1</Primary>
+ </key>
+ <foreign-key id="133" parent="17">
+ <ColNames>animation_id</ColNames>
+ <RefTableName>fossee_manim_animation__old</RefTableName>
+ <RefColNames>id</RefColNames>
+ </foreign-key>
+ <column id="134" parent="18" name="id">
+ <Position>1</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ <SequenceIdentity>1</SequenceIdentity>
+ </column>
+ <column id="135" parent="18" name="name">
+ <Position>2</Position>
+ <DataType>varchar(255)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="136" parent="18" name="created">
+ <Position>3</Position>
+ <DataType>datetime|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="137" parent="18" name="description">
+ <Position>4</Position>
+ <DataType>text|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <index id="138" parent="18" name="sqlite_autoindex_fossee_manim_category_1">
+ <NameSurrogate>1</NameSurrogate>
+ <ColNames>name</ColNames>
+ <ColumnCollations></ColumnCollations>
+ <Unique>1</Unique>
+ </index>
+ <key id="139" parent="18">
+ <ColNames>id</ColNames>
+ <Primary>1</Primary>
+ </key>
+ <key id="140" parent="18">
+ <ColNames>name</ColNames>
+ <UnderlyingIndexName>sqlite_autoindex_fossee_manim_category_1</UnderlyingIndexName>
+ </key>
+ <column id="141" parent="19" name="id">
+ <Position>1</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ <SequenceIdentity>1</SequenceIdentity>
+ </column>
+ <column id="142" parent="19" name="comment">
+ <Position>2</Position>
+ <DataType>text|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="143" parent="19" name="created_date">
+ <Position>3</Position>
+ <DataType>datetime|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="144" parent="19" name="animation_status">
+ <Position>4</Position>
+ <DataType>varchar(255)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="145" parent="19" name="animation_id">
+ <Position>5</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="146" parent="19" name="commentor_id">
+ <Position>6</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <index id="147" parent="19" name="fossee_manim_comment_animation_id_6e4f0f3b">
+ <ColNames>animation_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <index id="148" parent="19" name="fossee_manim_comment_commentor_id_4925daa7">
+ <ColNames>commentor_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <key id="149" parent="19">
+ <ColNames>id</ColNames>
+ <Primary>1</Primary>
+ </key>
+ <foreign-key id="150" parent="19">
+ <ColNames>animation_id</ColNames>
+ <RefTableName>fossee_manim_animation__old</RefTableName>
+ <RefColNames>id</RefColNames>
+ </foreign-key>
+ <foreign-key id="151" parent="19">
+ <ColNames>commentor_id</ColNames>
+ <RefTableName>auth_user</RefTableName>
+ <RefColNames>id</RefColNames>
+ </foreign-key>
+ <column id="152" parent="20" name="id">
+ <Position>1</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="153" parent="20" name="title">
+ <Position>2</Position>
+ <DataType>varchar(255)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="154" parent="20" name="status">
+ <Position>3</Position>
+ <DataType>varchar(255)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="155" parent="20" name="subcategory">
+ <Position>4</Position>
+ <DataType>varchar(255)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="156" parent="20" name="created">
+ <Position>5</Position>
+ <DataType>datetime|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="157" parent="20" name="history_id">
+ <Position>6</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ <SequenceIdentity>1</SequenceIdentity>
+ </column>
+ <column id="158" parent="20" name="history_date">
+ <Position>7</Position>
+ <DataType>datetime|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="159" parent="20" name="history_change_reason">
+ <Position>8</Position>
+ <DataType>varchar(100)|0s</DataType>
+ </column>
+ <column id="160" parent="20" name="history_type">
+ <Position>9</Position>
+ <DataType>varchar(1)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="161" parent="20" name="category_id">
+ <Position>10</Position>
+ <DataType>integer|0s</DataType>
+ </column>
+ <column id="162" parent="20" name="contributor_id">
+ <Position>11</Position>
+ <DataType>integer|0s</DataType>
+ </column>
+ <column id="163" parent="20" name="history_user_id">
+ <Position>12</Position>
+ <DataType>integer|0s</DataType>
+ </column>
+ <column id="164" parent="20" name="reviewer_id">
+ <Position>13</Position>
+ <DataType>integer|0s</DataType>
+ </column>
+ <column id="165" parent="20" name="outline">
+ <Position>14</Position>
+ <DataType>text|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <index id="166" parent="20" name="fossee_manim_historicalanimation_id_7bb1d9ba">
+ <ColNames>id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <index id="167" parent="20" name="fossee_manim_historicalanimation_category_id_358a43a6">
+ <ColNames>category_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <index id="168" parent="20" name="fossee_manim_historicalanimation_contributor_id_7d21ee43">
+ <ColNames>contributor_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <index id="169" parent="20" name="fossee_manim_historicalanimation_history_user_id_09692bd4">
+ <ColNames>history_user_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <index id="170" parent="20" name="fossee_manim_historicalanimation_reviewer_id_c719e2dc">
+ <ColNames>reviewer_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <key id="171" parent="20">
+ <ColNames>history_id</ColNames>
+ <Primary>1</Primary>
+ </key>
+ <foreign-key id="172" parent="20">
+ <ColNames>history_user_id</ColNames>
+ <RefTableName>auth_user</RefTableName>
+ <RefColNames>id</RefColNames>
+ </foreign-key>
+ <column id="173" parent="21" name="id">
+ <Position>1</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ <SequenceIdentity>1</SequenceIdentity>
+ </column>
+ <column id="174" parent="21" name="title">
+ <Position>2</Position>
+ <DataType>varchar(32)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="175" parent="21" name="institute">
+ <Position>3</Position>
+ <DataType>varchar(150)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="176" parent="21" name="department">
+ <Position>4</Position>
+ <DataType>varchar(150)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="177" parent="21" name="phone_number">
+ <Position>5</Position>
+ <DataType>varchar(10)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="178" parent="21" name="position">
+ <Position>6</Position>
+ <DataType>varchar(32)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="179" parent="21" name="how_did_you_hear_about_us">
+ <Position>7</Position>
+ <DataType>varchar(255)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="180" parent="21" name="location">
+ <Position>8</Position>
+ <DataType>varchar(255)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="181" parent="21" name="state">
+ <Position>9</Position>
+ <DataType>varchar(255)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="182" parent="21" name="pincode">
+ <Position>10</Position>
+ <DataType>varchar(6)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="183" parent="21" name="is_email_verified">
+ <Position>11</Position>
+ <DataType>bool|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="184" parent="21" name="activation_key">
+ <Position>12</Position>
+ <DataType>varchar(255)|0s</DataType>
+ </column>
+ <column id="185" parent="21" name="key_expiry_time">
+ <Position>13</Position>
+ <DataType>datetime|0s</DataType>
+ </column>
+ <column id="186" parent="21" name="user_id">
+ <Position>14</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <index id="187" parent="21" name="sqlite_autoindex_fossee_manim_profile_1">
+ <NameSurrogate>1</NameSurrogate>
+ <ColNames>user_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ <Unique>1</Unique>
+ </index>
+ <key id="188" parent="21">
+ <ColNames>id</ColNames>
+ <Primary>1</Primary>
+ </key>
+ <key id="189" parent="21">
+ <ColNames>user_id</ColNames>
+ <UnderlyingIndexName>sqlite_autoindex_fossee_manim_profile_1</UnderlyingIndexName>
+ </key>
+ <foreign-key id="190" parent="21">
+ <ColNames>user_id</ColNames>
+ <RefTableName>auth_user</RefTableName>
+ <RefColNames>id</RefColNames>
+ </foreign-key>
+ <column id="191" parent="22" name="type">
+ <Position>1</Position>
+ <DataType>text|0s</DataType>
+ </column>
+ <column id="192" parent="22" name="name">
+ <Position>2</Position>
+ <DataType>text|0s</DataType>
+ </column>
+ <column id="193" parent="22" name="tbl_name">
+ <Position>3</Position>
+ <DataType>text|0s</DataType>
+ </column>
+ <column id="194" parent="22" name="rootpage">
+ <Position>4</Position>
+ <DataType>int|0s</DataType>
+ </column>
+ <column id="195" parent="22" name="sql">
+ <Position>5</Position>
+ <DataType>text|0s</DataType>
+ </column>
+ <column id="196" parent="23" name="name">
+ <Position>1</Position>
+ </column>
+ <column id="197" parent="23" name="seq">
+ <Position>2</Position>
+ </column>
+ <column id="198" parent="24" name="id">
+ <Position>1</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ <SequenceIdentity>1</SequenceIdentity>
+ </column>
+ <column id="199" parent="24" name="name">
+ <Position>2</Position>
+ <DataType>varchar(100)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="200" parent="24" name="slug">
+ <Position>3</Position>
+ <DataType>varchar(100)|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <index id="201" parent="24" name="sqlite_autoindex_taggit_tag_1">
+ <NameSurrogate>1</NameSurrogate>
+ <ColNames>name</ColNames>
+ <ColumnCollations></ColumnCollations>
+ <Unique>1</Unique>
+ </index>
+ <index id="202" parent="24" name="sqlite_autoindex_taggit_tag_2">
+ <NameSurrogate>1</NameSurrogate>
+ <ColNames>slug</ColNames>
+ <ColumnCollations></ColumnCollations>
+ <Unique>1</Unique>
+ </index>
+ <key id="203" parent="24">
+ <ColNames>id</ColNames>
+ <Primary>1</Primary>
+ </key>
+ <key id="204" parent="24">
+ <ColNames>name</ColNames>
+ <UnderlyingIndexName>sqlite_autoindex_taggit_tag_1</UnderlyingIndexName>
+ </key>
+ <key id="205" parent="24">
+ <ColNames>slug</ColNames>
+ <UnderlyingIndexName>sqlite_autoindex_taggit_tag_2</UnderlyingIndexName>
+ </key>
+ <column id="206" parent="25" name="id">
+ <Position>1</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ <SequenceIdentity>1</SequenceIdentity>
+ </column>
+ <column id="207" parent="25" name="object_id">
+ <Position>2</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="208" parent="25" name="content_type_id">
+ <Position>3</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <column id="209" parent="25" name="tag_id">
+ <Position>4</Position>
+ <DataType>integer|0s</DataType>
+ <NotNull>1</NotNull>
+ </column>
+ <index id="210" parent="25" name="taggit_taggeditem_object_id_e2d7d1df">
+ <ColNames>object_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <index id="211" parent="25" name="taggit_taggeditem_content_type_id_object_id_196cc965_idx">
+ <ColNames>content_type_id
+object_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <index id="212" parent="25" name="taggit_taggeditem_content_type_id_9957a03c">
+ <ColNames>content_type_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <index id="213" parent="25" name="taggit_taggeditem_tag_id_f4f5b767">
+ <ColNames>tag_id</ColNames>
+ <ColumnCollations></ColumnCollations>
+ </index>
+ <key id="214" parent="25">
+ <ColNames>id</ColNames>
+ <Primary>1</Primary>
+ </key>
+ <foreign-key id="215" parent="25">
+ <ColNames>content_type_id</ColNames>
+ <RefTableName>django_content_type</RefTableName>
+ <RefColNames>id</RefColNames>
+ </foreign-key>
+ <foreign-key id="216" parent="25">
+ <ColNames>tag_id</ColNames>
+ <RefTableName>taggit_tag</RefTableName>
+ <RefColNames>id</RefColNames>
+ </foreign-key>
+ </database-model>
+</dataSource> \ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 8656114..a7e5d8b 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -3,5 +3,9 @@
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
+<<<<<<< HEAD
+ <component name="ProjectRootManager" version="2" project-jdk-name="Python 2.7" project-jdk-type="Python SDK" />
+=======
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.7" project-jdk-type="Python SDK" />
+>>>>>>> f79913639bc283c945a392d641e84b0a70a97eda
</project> \ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000..626182e
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="ChangeListManager">
+ <list default="true" id="38ed1c12-1d8b-4313-8f28-4c745bc3ce98" name="Default Changelist" comment="">
+ <change beforePath="$PROJECT_DIR$/fossee_manim/templates/fossee_manim/delete_proposal.html" beforeDir="false" afterPath="$PROJECT_DIR$/fossee_manim/templates/fossee_manim/delete_proposal.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="Git.Settings">
+ <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
+ </component>
+ <component name="ProjectId" id="1RgbbNstYgXQOnKhGhdmfuuyq4D" />
+ <component name="PropertiesComponent">
+ <property name="ASKED_SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
+ <property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
+ <property name="WebServerToolWindowFactoryState" value="false" />
+ </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="RunManager">
+ <configuration name="FOSSEE_animations" type="Python.DjangoServer" factoryName="Django server">
+ <module name="FOSSEE_animations" />
+ <option name="INTERPRETER_OPTIONS" value="" />
+ <option name="PARENT_ENVS" value="true" />
+ <envs>
+ <env name="PYTHONUNBUFFERED" value="1" />
+ <env name="DJANGO_SETTINGS_MODULE" value="fossee_anime.settings" />
+ </envs>
+ <option name="SDK_HOME" value="/usr/bin/python2.7" />
+ <option name="WORKING_DIRECTORY" value="" />
+ <option name="IS_MODULE_SDK" value="false" />
+ <option name="ADD_CONTENT_ROOTS" value="true" />
+ <option name="ADD_SOURCE_ROOTS" value="true" />
+ <option name="launchJavascriptDebuger" value="false" />
+ <option name="port" value="8000" />
+ <option name="host" value="" />
+ <option name="additionalOptions" value="" />
+ <option name="browserUrl" value="" />
+ <option name="runTestServer" value="false" />
+ <option name="runNoReload" value="false" />
+ <option name="useCustomRunCommand" value="false" />
+ <option name="customRunCommand" value="" />
+ <method v="2" />
+ </configuration>
+ </component>
+ <component name="SvnConfiguration">
+ <configuration />
+ </component>
+ <component name="TaskManager">
+ <task active="true" id="Default" summary="Default task">
+ <changelist id="38ed1c12-1d8b-4313-8f28-4c745bc3ce98" name="Default Changelist" comment="" />
+ <created>1570091761379</created>
+ <option name="number" value="Default" />
+ <option name="presentableId" value="Default" />
+ <updated>1570091761379</updated>
+ <workItem from="1570091780853" duration="4873000" />
+ <workItem from="1570119567049" duration="648000" />
+ <workItem from="1570164704492" duration="14096000" />
+ <workItem from="1570182317776" duration="214000" />
+ <workItem from="1570194833343" duration="2114000" />
+ <workItem from="1570348205277" duration="10000" />
+ </task>
+ <servers />
+ </component>
+ <component name="TypeScriptGeneratedFilesManager">
+ <option name="version" value="1" />
+ </component>
+ <component name="Vcs.Log.Tabs.Properties">
+ <option name="TAB_STATES">
+ <map>
+ <entry key="MAIN">
+ <value>
+ <State>
+ <option name="COLUMN_ORDER" />
+ </State>
+ </value>
+ </entry>
+ </map>
+ </option>
+ </component>
+</project> \ No newline at end of file
diff --git a/fossee_manim/forms.py b/fossee_manim/forms.py
index 0836e47..8bb3453 100644
--- a/fossee_manim/forms.py
+++ b/fossee_manim/forms.py
@@ -316,6 +316,66 @@ class AnimationProposal_edit(forms.ModelForm):
class Meta:
model = Animation
+ widgets = {'sketch': forms.FileInput(), }
+ fields = [
+ 'category',
+ 'subcategory',
+ 'title',
+ 'outline',
+ 'tags',
+ 'concepts',
+ 'audience',
+ 'reference',
+ 'tools',
+ 'detaled_description',
+ 'link',
+ 'sketch']
+
+
+class AnimationProposal_edit(forms.ModelForm):
+ """Animation form """
+ required_css_class = 'required'
+ errorlist_css_class = 'errorlist'
+
+ def __init__(self, *args, **kwargs):
+ super(AnimationProposal_edit, self).__init__(*args, **kwargs)
+ self.fields['subcategory'].widget.attrs['placeholder'] = 'Eg: Quantum Mechanics, Topology'
+ self.fields['outline'].widget.attrs = {
+ 'id': 'custom_editor', 'rows': 10, 'cols': 50, 'placeholder': (
+ 'NOTE: Do add info about prerequisites (if any), possible textbooks and '
+ 'any other related information')}
+ self.fields['concepts'].widget.attrs = {
+ 'id': 'custom_editor', 'rows': 10, 'cols': 50, 'placeholder': (
+ 'Which concept(s) do you want to animate?'
+ 'Example: Animation of how data flows in Ring Topology')}
+ self.fields['audience'].widget.attrs = {
+ 'id': 'custom_editor', 'rows': 10, 'cols': 50, 'placeholder': (
+ 'Who would be the target audience for your video?\n'
+ 'Example: High School Students, Mechanical Engineers, etc.')}
+
+ self.fields['reference'].widget.attrs = {
+ 'id': 'custom_editor', 'rows': 10, 'cols': 50, 'placeholder': (
+ 'Please try to be as specific as possible. For example,\n'
+ 'Book used: Linear Algebra.\n'
+ 'Author: Kenneth Hoffman, Ray Kunze\n'
+ 'Edition: Second\n'
+ 'Chapter: 2 ; Page : 40')}
+ self.fields['tools'].widget.attrs = {
+ 'id': 'custom_editor', 'rows': 10, 'cols': 50, 'placeholder': (
+ 'What all tools would you be using for animation?\n'
+ 'Example: manim, blender, mayavi, mathbox, etc')}
+ self.fields['detaled_description'].widget.attrs = {
+ 'id': 'custom_editor',
+ 'rows': 10,
+ 'cols': 50,
+ 'placeholder': ('Give a detailed description of your animation')
+ }
+ self.fields['link'].widget.attrs = {'id': 'custom_editor', 'rows': 10, 'cols': 50, 'placeholder': (
+ 'Along with the video you will have to submit the source code github link below.\n')}
+ self.fields['sketch'].label = "Sketch(.jpeg/.jpg only)"
+
+ class Meta:
+ model = Animation
widgets = {
'sketch': forms.FileInput(),
}
@@ -360,6 +420,5 @@ class UploadAnimationForm(forms.ModelForm):
class Meta:
model = AnimationStats
exclude = ['animation', 'views', 'like', 'dislike', 'thumbnail']
- widgets = {
- 'video_path': forms.FileInput(),
- }
+ widgets = {'video_path': forms.FileInput(),}
+
diff --git a/fossee_manim/models.py b/fossee_manim/models.py
index f400818..25a7652 100644
--- a/fossee_manim/models.py
+++ b/fossee_manim/models.py
@@ -13,7 +13,7 @@ import subprocess
position_choices = (
("contributor", "Contributor"),
("reviewer", "Reviewer")
- )
+)
department_choices = (
("computer", "Computers"),
@@ -29,7 +29,7 @@ department_choices = (
("electronics", "Electronics"),
("energy science and engineering", "Energy Science and Engineering"),
("others", "Others")
- )
+)
title = (
("Professor", "Prof."),
@@ -40,7 +40,7 @@ title = (
("Mr", "Mr."),
("Mrs", "Mrs."),
("Miss", "Ms."),
- )
+)
source = (
("FOSSEE website", "FOSSEE website"),
@@ -48,46 +48,46 @@ source = (
("Social Media", "Social Media"),
("From other College", "From other College"),
("others", "Others")
- )
+)
states = (
- ("IN-AP", "Andhra Pradesh"),
- ("IN-AR", "Arunachal Pradesh"),
- ("IN-AS", "Assam"),
- ("IN-BR", "Bihar"),
- ("IN-CT", "Chhattisgarh"),
- ("IN-GA", "Goa"),
- ("IN-GJ", "Gujarat"),
- ("IN-HR", "Haryana"),
- ("IN-HP", "Himachal Pradesh"),
- ("IN-JK", "Jammu and Kashmir"),
- ("IN-JH", "Jharkhand"),
- ("IN-KA", "Karnataka"),
- ("IN-KL", "Kerala"),
- ("IN-MP", "Madhya Pradesh"),
- ("IN-MH", "Maharashtra"),
- ("IN-MN", "Manipur"),
- ("IN-ML", "Meghalaya"),
- ("IN-MZ", "Mizoram"),
- ("IN-NL", "Nagaland"),
- ("IN-OR", "Odisha"),
- ("IN-PB", "Punjab"),
- ("IN-RJ", "Rajasthan"),
- ("IN-SK", "Sikkim"),
- ("IN-TN", "Tamil Nadu"),
- ("IN-TG", "Telangana"),
- ("IN-TR", "Tripura"),
- ("IN-UT", "Uttarakhand"),
- ("IN-UP", "Uttar Pradesh"),
- ("IN-WB", "West Bengal"),
- ("IN-AN", "Andaman and Nicobar Islands"),
- ("IN-CH", "Chandigarh"),
- ("IN-DN", "Dadra and Nagar Haveli"),
- ("IN-DD", "Daman and Diu"),
- ("IN-DL", "Delhi"),
- ("IN-LD", "Lakshadweep"),
- ("IN-PY", "Puducherry")
- )
+ ("IN-AP", "Andhra Pradesh"),
+ ("IN-AR", "Arunachal Pradesh"),
+ ("IN-AS", "Assam"),
+ ("IN-BR", "Bihar"),
+ ("IN-CT", "Chhattisgarh"),
+ ("IN-GA", "Goa"),
+ ("IN-GJ", "Gujarat"),
+ ("IN-HR", "Haryana"),
+ ("IN-HP", "Himachal Pradesh"),
+ ("IN-JK", "Jammu and Kashmir"),
+ ("IN-JH", "Jharkhand"),
+ ("IN-KA", "Karnataka"),
+ ("IN-KL", "Kerala"),
+ ("IN-MP", "Madhya Pradesh"),
+ ("IN-MH", "Maharashtra"),
+ ("IN-MN", "Manipur"),
+ ("IN-ML", "Meghalaya"),
+ ("IN-MZ", "Mizoram"),
+ ("IN-NL", "Nagaland"),
+ ("IN-OR", "Odisha"),
+ ("IN-PB", "Punjab"),
+ ("IN-RJ", "Rajasthan"),
+ ("IN-SK", "Sikkim"),
+ ("IN-TN", "Tamil Nadu"),
+ ("IN-TG", "Telangana"),
+ ("IN-TR", "Tripura"),
+ ("IN-UT", "Uttarakhand"),
+ ("IN-UP", "Uttar Pradesh"),
+ ("IN-WB", "West Bengal"),
+ ("IN-AN", "Andaman and Nicobar Islands"),
+ ("IN-CH", "Chandigarh"),
+ ("IN-DN", "Dadra and Nagar Haveli"),
+ ("IN-DD", "Daman and Diu"),
+ ("IN-DL", "Delhi"),
+ ("IN-LD", "Lakshadweep"),
+ ("IN-PY", "Puducherry")
+)
status = (
("pending", "Pending Acceptance"),
@@ -107,6 +107,7 @@ def attachments(instance, filename):
instance.animation.title,
str(instance.animation.id), filename)
+
def validate_file_extension(value):
import os
from django.core.exceptions import ValidationError
@@ -131,13 +132,13 @@ class Profile(models.Model):
institute = models.CharField(max_length=150, blank=True)
department = models.CharField(max_length=150, choices=department_choices)
phone_number = models.CharField(
- max_length=10,
- validators=[RegexValidator(
- regex=r'^.{10}$', message=(
- "Phone number must be entered \
+ max_length=10,
+ validators=[RegexValidator(
+ regex=r'^.{10}$', message=(
+ "Phone number must be entered \
in the format: '9999999999'.\
Up to 10 digits allowed.")
- )], null=False)
+ )], null=False)
position = models.CharField(max_length=32, choices=position_choices,
default='contributor')
how_did_you_hear_about_us = models.CharField(max_length=255, blank=True,
@@ -147,21 +148,21 @@ class Profile(models.Model):
state = models.CharField(max_length=255, choices=states, default="IN-MH")
pincode = models.CharField(max_length=6, blank=True,
validators=[RegexValidator(
- regex=r'^.{6}$', message=(
- "Please enter valid PINCODE"
- )
- )])
+ regex=r'^.{6}$', message=(
+ "Please enter valid PINCODE"
+ )
+ )])
is_email_verified = models.BooleanField(default=False)
activation_key = models.CharField(max_length=255, blank=True, null=True)
key_expiry_time = models.DateTimeField(blank=True, null=True)
def __str__(self):
return u"id: {0}| {1} {2} | {3} ".format(
- self.user.id,
- self.user.first_name,
- self.user.last_name,
- self.user.email
- )
+ self.user.id,
+ self.user.first_name,
+ self.user.last_name,
+ self.user.email
+ )
class Category(models.Model):
@@ -173,11 +174,20 @@ class Category(models.Model):
return u"{0}".format(self.name)
+# test
+class Example(models.Model):
+ name = models.CharField(max_length=20)
+ tags = TaggableManager()
+
+
class Animation(models.Model):
title = models.CharField(max_length=255)
contributor = models.ForeignKey(User, on_delete=models.CASCADE)
- reviewer = models.ForeignKey(User, null=True, on_delete=models.CASCADE,
- related_name="%(app_label)s_%(class)s_related")
+ reviewer = models.ForeignKey(
+ User,
+ null=True,
+ on_delete=models.CASCADE,
+ related_name="%(app_label)s_%(class)s_related")
outline = models.TextField()
status = models.CharField(max_length=255, choices=status)
category = models.ForeignKey(Category, on_delete=models.CASCADE)
@@ -220,16 +230,20 @@ class AnimationStats(models.Model):
like = models.PositiveIntegerField(default=0)
dislike = models.PositiveIntegerField(default=0)
thumbnail = models.ImageField(null=True, blank=True, upload_to=attachments)
- video_path = models.FileField(null=True, blank=True, upload_to=attachments, validators=[validate_file_extension])
+ video_path = models.FileField(
+ null=True,
+ blank=True,
+ upload_to=attachments,
+ validators=[validate_file_extension])
def _create_thumbnail(self):
video_path = self.video_path.path
img_output = path.join(
- tempfile.mkdtemp(), "{0}.jpg".format(self.animation.title)
- )
+ tempfile.mkdtemp(), "{0}.jpg".format(self.animation.title)
+ )
file_name = "{0}.jpg".format(self.animation.title)
subprocess.call(['ffmpeg', '-i', video_path, '-ss', '00:00:02.000',
- '-vframes', '1', img_output])
+ '-vframes', '1', img_output])
if path.exists(img_output):
que_file = open(img_output, 'rb')
# Converting to Python file object with
@@ -240,8 +254,8 @@ class AnimationStats(models.Model):
def _create_ogv(self):
video_input = self.video_path.path
vid_output = path.join(
- tempfile.mkdtemp(), "{0}.ogv".format(self.animation.title)
- )
+ tempfile.mkdtemp(), "{0}.ogv".format(self.animation.title)
+ )
file_name = "{0}.ogv".format(self.animation.title)
subprocess.call(['ffmpeg', '-i', video_input, '-r', '24', vid_output])
if path.exists(vid_output):
diff --git a/fossee_manim/static/css/index.css b/fossee_manim/static/css/index.css
index 54bda1b..9840f69 100644
--- a/fossee_manim/static/css/index.css
+++ b/fossee_manim/static/css/index.css
@@ -62,7 +62,7 @@ form.example::after {
}
#btns {
- padding: 25 25 25 25;
+ padding:25 25 25 25;
font-size: 155%;
font-family: 'Lato', sans-serif;
}
@@ -128,8 +128,16 @@ hr {
.footer{
right: 0;
left: 0;
+<<<<<<< HEAD
bottom: 0;
padding: 1rem;
+=======
+ position: relative;
+ bottom: 0;
+
+ owerflow: hidden;
+ padding: 95px;
+>>>>>>> cfdc41deed280bddbcc6c3cf45e30f33ea139e88
text-align: center;
}
a{
diff --git a/fossee_manim/templates/fossee_manim/about.html b/fossee_manim/templates/fossee_manim/about.html
index 21c55d5..4688740 100644
--- a/fossee_manim/templates/fossee_manim/about.html
+++ b/fossee_manim/templates/fossee_manim/about.html
@@ -5,10 +5,16 @@ About
{% endblock %}
{% block content %}
+<<<<<<< HEAD
<div class="container-fluid jumbotron" align="justify"
style="margin-top:20px; padding:50px; background-color: transparent;">
<!-- style="padding-top:120px"> -->
<center>
+=======
+ <div class="container-fluid jumbotron" align = "justify" style="margin-top:20px; margin-bottom: 56px; padding:50px; background-color: transparent;">
+ {% comment %}style="padding-top:120px"> {% endcomment %}
+ <center>
+>>>>>>> cfdc41deed280bddbcc6c3cf45e30f33ea139e88
<h1>About FOSSEE Animations</h1>
<h4 style="color: #555555;"><i>What</i> do we do and <i>why</i>?</h4>
</center>
@@ -16,5 +22,12 @@ About
<div class="container" style="font-family: 'Lato', sans-serif; background-color: #e7edee;">
<hr>
</div>
+<<<<<<< HEAD
</div>
-{% endblock content %} \ No newline at end of file
+{% endblock content %}
+=======
+ <div>
+ {% endblock content %}
+ </div>
+
+>>>>>>> cfdc41deed280bddbcc6c3cf45e30f33ea139e88
diff --git a/fossee_manim/templates/fossee_manim/base.html b/fossee_manim/templates/fossee_manim/base.html
index ab5fa06..5e6326e 100644
--- a/fossee_manim/templates/fossee_manim/base.html
+++ b/fossee_manim/templates/fossee_manim/base.html
@@ -34,82 +34,84 @@
<body>
{% block header %}
- <nav class="navbar navbar-expand-md row fixed-top" style="background-color:#222222; padding-top: 20px; padding-bottom: 20px;">
+ <nav class="navbar navbar-expand-lg " style="background-color:#222222; color: white;">
<a class="navbar-brand" href="{% url 'index' %}">
- <img src="{{ URL_ROOT }}/static/img/logo_main.png" width="150" height="33.75" alt="" style="margin-right: 50px; margin-left: 20px">
+ <img src="{{ URL_ROOT }}/static/img/logo_main.png" width="200" height="50" alt=""
+ style="margin-right: 50px; margin-left: 20px">
</a>
- <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
- <span class="navbar-toggler-icon"></span>
+
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
+ aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="fa fa-bars" style="color:white;"></span>
</button>
- <ul class="navbar-nav">
- <li class="nav-item dropdown">
- <div class="collapse navbar-collapse" id="navbarSupportedContent">
- <i class="material-icons md-24" style="color: #1facb3;">
- explore
- </i>
- <a class="nav-link dropdown-toggle" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" style="color:#1fabc3"> Explore</a>
-
- <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdownMenuLink">
- {% for c in categories %}
- <a class="dropdown-item" href="{% url 'explore' c.name %}">{{c.name}}</a>
- <div class="dropdown-divider">
- </div>
- {% endfor %}
- </div>
- </li>
- </ul>
+ <div class="collapse navbar-collapse" id="navbarSupportedContent">
+ <ul class="navbar-nav mr-auto">
+ <li class="nav-item active">
+ <a class="btn" href="{% url 'about' %}">About</a>
+ </li>
+ <li class="nav-item active">
+ <a class="btn" href="{% url 'guidelines' %}">Guidelines</a>
+ </li>
+ <li class="nav-item active">
+ <a class="btn" href="{% url 'faqs' %}">FAQ</a>
+ </li>
+ <li class="nav-item active">
+ <a class="btn" href="{% url 'honorarium' %}">Honorarium</a>
+ </li>
+ <li class="nav-item active">
+ <a class="btn" href="{% url 'send_proposal' %}"><b>Submit Proposal</b></a>
+ </li>
+ <li class="nav-item active">
+ <a class="btn" href="{% url 'outreach' %}">Outreach</a>
+ </li>
+ <li class="nav-item active">
+ <a class="btn" href="{% url 'library' %}">Library</a>
+ </li>
+ {% if user.is_authenticated %}
+ {% if request.user.profile.position == 'contributor' %}
+
+ <li class="nav-item active">
+ <a class="btn" href="{% url 'proposal_status' %}">Proposal Status</a>
+ </li>
+
+ {% else %}
+
+ <li class="nav-item active">
+ <a class="btn" href="{% url 'proposal_status' %}">Submitted Proposals</a>
+ </li>
+ {% endif %}
+
+ <li class="nav-item active">
+ <a class="btn" href="{% url 'view_profile' %}">View Profile</a>
+ </li>
+
+ <li class="nav-item active">
+ <a class="btn" href="{% url 'logout' %}">Logout</a>
+ </li>
+ {% else %}
+
+ <li class="nav-item active">
+ <a class="btn" href="{% url 'login' %}">Login</a>
+ </li>
+
+ <li class="nav-item active">
+ <a class="btn" href="{% url 'register' %}">Register</a>
+ </li>
+ {% endif %}
+ </ul>
<form class="form-inline" method="POST" action="/search/" style="margin-left: 10px; margin-top: 10px; ">
{% csrf_token %}
- <input class="form-control mr-sm-2" type="search" id="sbox" name="sbox" placeholder="Search for animations">
- <button class="btn btn-primary my-2 my-sm-0" id= "btnblue" type="submit">
+ <input class="form-control mr-sm-2" type="search" id="sbox" name="sbox"
+ placeholder="Search for animations">
+ <button class="btn btn-primary my-2 my-sm-0" id="btnblue" type="submit">
Search
- </button>
+ </button>
</form>
- <ul class="navbar-nav ml-md-auto">
- <li class="nav-item dropdown">
- {% if user.is_authenticated %}
- <a class="nav-link dropdown-toggle" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" style="color:white"> {{user.first_name}}</a>
- <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdownMenuLink">
- {% if request.user.profile.position == 'contributor' %}
- <a class="dropdown-item" href="{% url 'proposal_status' %}">Proposal Status</a>
- {% else %}
- <a class="dropdown-item" href="{% url 'proposal_status' %}">Submitted Proposals</a>
- {% endif %}
- <div class="dropdown-divider">
- </div>
- <a class="dropdown-item" href="{% url 'view_profile' %}">View Profile</a>
- <div class="dropdown-divider">
- </div>
- <a class="dropdown-item" href="{% url 'logout' %}">Logout</a>
- </div>
- {% else %}
- <a class="nav-link dropdown-toggle" href="http://example.com" id="navbarDropdownMenuLink" data-toggle="dropdown" style="color:white">Login / Register</a>
- <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdownMenuLink">
- <a class="dropdown-item" href="{% url 'login' %}">Login</a>
- <div class="dropdown-divider">
- </div>
- <a class="dropdown-item" href="{% url 'register' %}">Register</a>
- </div>
- {% endif %}
- </li>
- </ul>
- </div>
- </nav>
- <!-- <nav class="navbar navbar-expand-md navbar-dark bg-dark"> -->
-
- <div class="jumbotron sticky-top" style="padding-top: 90px; padding-bottom: 0.2%; margin-bottom: 0px; background-color: #dddddd;width:auto">
- <div class="btn-group btn-group-lg" role="group">
- <button class="btn btn-link perma_link" type="button"><a href="{% url 'about' %}" style="color:#157b80">About</a></button>
- <button class="btn btn-link perma_link" type="button"><a href="{% url 'guidelines' %}" style="color:#222222">Guidelines</a></button>
- <button class="btn btn-link perma_link" type="button"><a href="{% url 'faqs' %}" style="color:#222222">FAQ</a></button>
- <button class="btn btn-link perma_link" type="button"><a href="{% url 'honorarium' %}" style="color:#222222">Honorarium</a></button>
- <button class="btn btn-link perma_link" type="button"><a href="{% url 'send_proposal' %}" style="color:#dd1100"><b>Submit Proposal</b></a></button>
- <button class="btn btn-link perma_link" type="button"><a href="{% url 'outreach' %}" style="color:#222222">Outreach</a></button>
- <button class="btn btn-link perma_link" type="button"><a href="{% url 'library' %}" style="color:#222222">Library</a></button>
</div>
- </div>
+ </nav>
+
{% endblock %}
{% block content %}
@@ -120,7 +122,8 @@
<!-- </main> -->
{% block footer %}
- <footer class="footer" style="background-color: #222222; font-family: 'Lato', sans-serif; padding:30px;">
+ <footer class="page-footer">
+ <div class="footer" style="background-color: #222222; font-family: 'Lato', sans-serif; padding:95px;">
<div class="container">
<div class="row">
<div class="col-md-4 text-center">
@@ -151,11 +154,12 @@
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License
</div>
</div>
- </footer>
+ </div>
+ </footer>
{% endblock footer %}
- <!--
- START Bootstrap-Alert
+ <!--
+ START Bootstrap-Alert
<div class="alert text-center cookiealert" role="alert" style="background: #d1ff3c; color: black;">
The website is currently undergoing some developmental changes. If you encounter any glitches, write to us at
animations@fossee.in ; we value your feedback and suggestions !
diff --git a/fossee_manim/templates/fossee_manim/delete_proposal.html b/fossee_manim/templates/fossee_manim/delete_proposal.html
index 6b870a2..9cae06e 100644
--- a/fossee_manim/templates/fossee_manim/delete_proposal.html
+++ b/fossee_manim/templates/fossee_manim/delete_proposal.html
@@ -38,7 +38,7 @@ Delete Proposal
<tr>
<td colspan="2">
<center>
- <a href="{% url 'delete_proposal_info' proposal.id %}"><button type="button"
+ <a href="{% url 'delete_proposal' proposal.id %}"><button type="button"
class="btn btn-info" id="btnred">Delete {{ proposal.title }}</button></a>
</center>
</td>
diff --git a/fossee_manim/templates/fossee_manim/faqs.html b/fossee_manim/templates/fossee_manim/faqs.html
index ab25f41..f22f79b 100644
--- a/fossee_manim/templates/fossee_manim/faqs.html
+++ b/fossee_manim/templates/fossee_manim/faqs.html
@@ -139,8 +139,13 @@ FAQs
</ul>
<br>
+<<<<<<< HEAD
<h5>If you have any other queries, email us at <a href="mailto: animations@fossee.in">animations@fossee.in</a>
</h2>
</div>
+=======
+ <h5>If you have any other queries, email us at <a href="mailto: animations@fossee.in">animations@fossee.in</a> </h5>
+</div>
+>>>>>>> cfdc41deed280bddbcc6c3cf45e30f33ea139e88
</div>
{% endblock %} \ No newline at end of file
diff --git a/fossee_manim/templates/fossee_manim/honorarium.html b/fossee_manim/templates/fossee_manim/honorarium.html
index 968ff87..b844482 100644
--- a/fossee_manim/templates/fossee_manim/honorarium.html
+++ b/fossee_manim/templates/fossee_manim/honorarium.html
@@ -64,6 +64,7 @@ Honorarium
you do not receive your money within 45 days of acknowledgement of forms received, please feel free
to contact us; we are happy to assist you.</li>
</ol>
+<<<<<<< HEAD
<p><span>Please note that the honorarium processing only starts after we receive your completed honorarium
forms. Ensure that you have made a PAN card and submit the forms in time to avoid delays.</span>
<p>
@@ -82,6 +83,20 @@ Honorarium
Form </a> </li>
<li> <a href="https://static.fossee.in/animations/forms/Receipt.pdf"> Receipt </a> </li>
</ul>
+=======
+ <p><span>Please note that the honorarium processing only starts after we receive your completed honorarium forms. Ensure that you have made a PAN card and submit the forms in time to avoid delays.</span><p>
+ <br> <br>
+ <h2><center>Forms</center></h2>
+ <br>
+ <p>Kindly print out the forms below, fill the required fields and mail them to the address:<p>
+ <ul>
+ <li> <a style="color: blue" href = "https://static.fossee.in/animations/forms/Copyright_Transfer.pdf"> Copyright Transfer Form </a> </li>
+ <li> <a style="color: blue" href = "https://static.fossee.in/animations/forms/Contributor_Details.pdf"> Contributor Details Form </a> </li>
+ <li> <a style="color: blue" href = "https://static.fossee.in/animations/forms/Bank_Details.pdf"> Bank Details Form </a> </li>
+ <li> <a style="color: blue" href = "https://static.fossee.in/animations/forms/Receipt.pdf"> Receipt </a> </li>
+ </ul>
+ </div>
+>>>>>>> cfdc41deed280bddbcc6c3cf45e30f33ea139e88
</div>
</div>
{% endblock %} \ No newline at end of file
diff --git a/fossee_manim/templates/fossee_manim/index.html b/fossee_manim/templates/fossee_manim/index.html
index bdfca1c..1e902e9 100644
--- a/fossee_manim/templates/fossee_manim/index.html
+++ b/fossee_manim/templates/fossee_manim/index.html
@@ -63,15 +63,12 @@ FOSSEE Animations Homepage
<!--Infographics-->
-<div class="jumbotron row text-center" id="infg"
- style="background-color: white; margin: 10px; font-family:'Lato', sans-serif; font-weight:400">
- <div class="container text-center">
- <h1 style="color: #e45700; font-family:'Montserrat', sans-serif;">HOW IT WORKS</h1>
- <img class="img-fluid d-block text-center" width="100%" src="{{ URL_ROOT }}/static/img/info.svg"
- alt="Infographic">
- <br>
- Want to know more? Visit our <a href="{{URL_ROOT}}/guidelines/"
- style="background-color:#157b80; color:white;">Guidelines</a> page!
- </div>
-</div>
-{% endblock %} \ No newline at end of file
+ <div class="jumbotron row text-center" id= "infg" style="background-color: white; margin: 10px; font-family:'Lato', sans-serif; font-weight:400">
+ <div class="container text-center">
+ <h1 style="color: #e45700; font-family:'Montserrat', sans-serif;">HOW IT WORKS</h1>
+ <img class="img-fluid d-block text-center" width="100%" src="{{ URL_ROOT }}/static/img/info.svg" alt="Infographic">
+ <br>
+ Want to know more? Visit our <button onclick="location.href='{{URL_ROOT}}/guidelines/'" style="background-color:#157b80; color:white;">Guidelines</button> page!
+ </div>
+ </div>
+ {% endblock %}
diff --git a/fossee_manim/templates/fossee_manim/logout.html b/fossee_manim/templates/fossee_manim/logout.html
index ef071f9..fe816a4 100644
--- a/fossee_manim/templates/fossee_manim/logout.html
+++ b/fossee_manim/templates/fossee_manim/logout.html
@@ -9,7 +9,7 @@ Logged out
<div class="container jumbotron" align="center" style="margin-top: 30px;">
<br>
<h3>You have logged out successfully.</h3>
- <h4>If you want to Login again please <a href="{{ URL_ROOT}}/login/">click here</a></h4>
+ <h4>If you want to Login again please <a href="{{ URL_ROOT}}/login/" style="color: blue">click here</a></h4>
<br>
</div>
diff --git a/fossee_manim/templates/fossee_manim/outreach.html b/fossee_manim/templates/fossee_manim/outreach.html
index 0cb6ee5..f0314eb 100644
--- a/fossee_manim/templates/fossee_manim/outreach.html
+++ b/fossee_manim/templates/fossee_manim/outreach.html
@@ -5,11 +5,18 @@ FOSSEE Animations | Outreach
{% endblock %}
{% block content %}
+<<<<<<< HEAD
<div class="container-fluid jumbotron" align="justify" style="background-color: transparent">
<center>
<h2>FOSSEE Animations Outreach</h2>
</center>
<hr>
</div>
+=======
+ <div class="container-fluid jumbotron" align = "justify" style="background-color: transparent; margin-bottom: 103px; ">
+ <center><h2>FOSSEE Animations Outreach</h2></center>
+ <hr>
+ </div>
+>>>>>>> cfdc41deed280bddbcc6c3cf45e30f33ea139e88
{% endblock %} \ No newline at end of file
diff --git a/fossee_manim/templates/fossee_manim/proposal_status.html b/fossee_manim/templates/fossee_manim/proposal_status.html
index 81af9ec..fe2aa5e 100644
--- a/fossee_manim/templates/fossee_manim/proposal_status.html
+++ b/fossee_manim/templates/fossee_manim/proposal_status.html
@@ -94,7 +94,7 @@
{% endif %}
</td>
{% if request.user.profile.position == 'reviewer' %}
- <td><a href="{% url 'delete_proposal' an.id %}">
+ <td><a href="{% url 'show_proposal_detail' an.id %}">
<button type="button" class="btn btn-info" id="btnred">Delete</button>
</a></td>
{% endif %}
diff --git a/fossee_manim/urls.py b/fossee_manim/urls.py
index 372ebe7..f48a6c0 100644
--- a/fossee_manim/urls.py
+++ b/fossee_manim/urls.py
@@ -34,13 +34,20 @@ urlpatterns = [
url(r'^libraryCS/$', views.libraryCS, name='libraryCS'),
url(r'^explore/(?P<category>.+)$', views.explore,
name='explore'),
- url(r'^delete_proposal/([1-9][0-9]*)$', views.delete_proposal, name='delete_proposal'),
- url(r'^delete_proposal_info/([1-9][0-9]*)$', views.delete_proposal_info, name='delete_proposal_info'),
- url(r'^sortproposal_released/$', views.sortproposal_released, name='sortproposal_released'),
- url(r'^sortproposal_rejected/$', views.sortproposal_rejected, name='sortproposal_rejected'),
- url(r'^sortproposal_changes/', views.sortproposal_changes, name='sortproposal_changes'),
- url(r'^sortproposal_pending/$', views.sortproposal_pending, name='sortproposal_pending'),
- url(r'^search_proposal/$', views.search_proposal, name='search_proposal'),
+ url(r'^show_proposal_detail/([1-9][0-9]*)$', views.show_proposal_detail,
+ name='show_proposal_detail'),
+ url(r'^delete_proposal/([1-9][0-9]*)$', views.delete_proposal,
+ name='delete_proposal'),
+ url(r'^sortproposal_released/$', views.sortproposal_released,
+ name='sortproposal_released'),
+ url(r'^sortproposal_rejected/$', views.sortproposal_rejected,
+ name='sortproposal_rejected'),
+ url(r'^sortproposal_changes/', views.sortproposal_changes,
+ name='sortproposal_changes'),
+ url(r'^sortproposal_pending/$', views.sortproposal_pending,
+ name='sortproposal_pending'),
+ url(r'^search_proposal/$', views.search_proposal,
+ name='search_proposal'),
]
urlpatterns += static(
diff --git a/fossee_manim/views.py b/fossee_manim/views.py
index e7a3aee..fa89cb2 100644
--- a/fossee_manim/views.py
+++ b/fossee_manim/views.py
@@ -2,7 +2,8 @@ from os import listdir, path, sep, makedirs, remove
from .forms import (
UserRegistrationForm, UserLoginForm,
ProfileForm, AnimationProposal,
- CommentForm, UploadAnimationForm, AnimationProposal_edit
+ CommentForm, UploadAnimationForm,
+ AnimationProposal_edit,
)
from .models import (
Profile, User, AnimationStats,
@@ -494,6 +495,142 @@ def sortproposal_pending(request):
@login_required
+def sortproposal_released(request):
+ user = request.user
+ if is_email_checked(user) and user.is_authenticated():
+ profile = Profile.objects.get(user_id=user)
+ categories = Category.objects.all()
+ if profile.position == 'contributor':
+ animations = Animation.objects.filter(
+ contributor_id=user, status='released').order_by('-created')
+ else:
+ animations = Animation.objects.filter(
+ status='released').order_by('-created')
+ # print(animations)
+
+ # Show upto 9 proposals per page
+ paginator = Paginator(list(animations), 9)
+ page = request.GET.get('page')
+ try:
+ anime = paginator.page(page)
+ print(animations.count(), anime)
+ except PageNotAnInteger:
+ # If page is not an integer, deliver first page.
+ anime = paginator.page(1)
+ except EmptyPage:
+ # If page is out of range(e.g 999999), deliver last page.
+ anime = paginator.page(paginator.num_pages)
+
+ return render(request, 'fossee_manim/proposal_status.html',
+ {'anime': anime,
+ 'categories': categories})
+ else:
+ return redirect('/login/')
+
+
+@login_required
+def sortproposal_rejected(request):
+ user = request.user
+ if is_email_checked(user) and user.is_authenticated():
+ profile = Profile.objects.get(user_id=user)
+ categories = Category.objects.all()
+ if profile.position == 'contributor':
+ animations = Animation.objects.filter(
+ contributor_id=user, status='rejected').order_by('-created')
+ else:
+ animations = Animation.objects.filter(
+ status='rejected').order_by('-created')
+ # print(animations)
+
+ # Show upto 9 proposals per page
+ paginator = Paginator(list(animations), 9)
+ page = request.GET.get('page')
+ try:
+ anime = paginator.page(page)
+ print(animations.count(), anime)
+ except PageNotAnInteger:
+ # If page is not an integer, deliver first page.
+ anime = paginator.page(1)
+ except EmptyPage:
+ # If page is out of range(e.g 999999), deliver last page.
+ anime = paginator.page(paginator.num_pages)
+
+ return render(request, 'fossee_manim/proposal_status.html',
+ {'anime': anime,
+ 'categories': categories})
+ else:
+ return redirect('/login/')
+
+
+@login_required
+def sortproposal_changes(request):
+ user = request.user
+ if is_email_checked(user) and user.is_authenticated():
+ profile = Profile.objects.get(user_id=user)
+ categories = Category.objects.all()
+ if profile.position == 'contributor':
+ animations = Animation.objects.filter(
+ contributor_id=user, status='changes').order_by('-created')
+ else:
+ animations = Animation.objects.filter(
+ status='changes').order_by('-created')
+ # print(animations)
+
+ # Show upto 9 proposals per page
+ paginator = Paginator(list(animations), 9)
+ page = request.GET.get('page')
+ try:
+ anime = paginator.page(page)
+ print(animations.count(), anime)
+ except PageNotAnInteger:
+ # If page is not an integer, deliver first page.
+ anime = paginator.page(1)
+ except EmptyPage:
+ # If page is out of range(e.g 999999), deliver last page.
+ anime = paginator.page(paginator.num_pages)
+
+ return render(request, 'fossee_manim/proposal_status.html',
+ {'anime': anime,
+ 'categories': categories})
+ else:
+ return redirect('/login/')
+
+
+@login_required
+def sortproposal_pending(request):
+ user = request.user
+ if is_email_checked(user) and user.is_authenticated():
+ profile = Profile.objects.get(user_id=user)
+ categories = Category.objects.all()
+ if profile.position == 'contributor':
+ animations = Animation.objects.filter(
+ contributor_id=user, status='pending').order_by('-created')
+ else:
+ animations = Animation.objects.filter(
+ status='pending').order_by('-created')
+ # print(animations)
+
+ # Show upto 9 proposals per page
+ paginator = Paginator(list(animations), 9)
+ page = request.GET.get('page')
+ try:
+ anime = paginator.page(page)
+ print(animations.count(), anime)
+ except PageNotAnInteger:
+ # If page is not an integer, deliver first page.
+ anime = paginator.page(1)
+ except EmptyPage:
+ # If page is out of range(e.g 999999), deliver last page.
+ anime = paginator.page(paginator.num_pages)
+
+ return render(request, 'fossee_manim/proposal_status.html',
+ {'anime': anime,
+ 'categories': categories})
+ else:
+ return redirect('/login/')
+
+
+@login_required
def edit_proposal(request, proposal_id=None):
user = request.user
if is_email_checked(user) and user.is_authenticated():
@@ -590,46 +727,89 @@ def edit_proposal(request, proposal_id=None):
# this method is used to return the details the proposal selected to delete
@login_required
-def delete_proposal(request, proposal_id=None):
+def show_proposal_detail(request, proposal_id=None):
user = request.user
if is_email_checked(user) and user.is_authenticated():
- proposal = Animation.objects.get(id=proposal_id)
+ try:
+ proposal = Animation.objects.get(id=proposal_id)
+ return render(request,
+ 'fossee_manim/delete_proposal.html',
+ {'proposal': proposal})
+ except BaseException:
+ profile = Profile.objects.get(user_id=user)
+ categories = Category.objects.all()
+ if profile.position == 'contributor':
+ animations = Animation.objects.filter(
+ contributor_id=user).order_by('-created')
+ else:
+ animations = Animation.objects.order_by('-created')
- return render(request,
- 'fossee_manim/delete_proposal.html',
- {'proposal': proposal})
+ paginator = Paginator(list(animations), 9)
+ page = request.GET.get('page')
+ try:
+ anime = paginator.page(page)
+ print(animations.count(), anime)
+ except PageNotAnInteger:
+ anime = paginator.page(1)
+ except EmptyPage:
+ anime = paginator.page(paginator.num_pages)
+
+ return render(request, 'fossee_manim/proposal_status.html',
+ {'anime': anime,
+ 'categories': categories})
else:
return redirect('/register/')
# this method is used to delete the selected proposal by the reviever
@login_required
-def delete_proposal_info(request, proposal_id=None):
+def delete_proposal(request, proposal_id=None):
user = request.user
if is_email_checked(user) and user.is_authenticated():
- # delete the selected proposal
- proposal = Animation.objects.get(id=proposal_id)
- proposal.delete()
- # loading the proposal page to redirect after deleting one proposal
- profile = Profile.objects.get(user_id=user)
- categories = Category.objects.all()
- if profile.position == 'contributor':
- animations = Animation.objects.filter(
- contributor_id=user).order_by('-created')
- else:
- animations = Animation.objects.order_by('-created')
- paginator = Paginator(list(animations), 9)
- page = request.GET.get('page')
try:
- anime = paginator.page(page)
- print(animations.count(), anime)
- except PageNotAnInteger:
- anime = paginator.page(1)
- except EmptyPage:
- anime = paginator.page(paginator.num_pages)
+ proposal = Animation.objects.get(id=proposal_id)
+ proposal.delete()
+ profile = Profile.objects.get(user_id=user)
+ categories = Category.objects.all()
+ if profile.position == 'contributor':
+ animations = Animation.objects.filter(
+ contributor_id=user).order_by('-created')
+ else:
+ animations = Animation.objects.order_by('-created')
+ paginator = Paginator(list(animations), 9)
+ page = request.GET.get('page')
+ try:
+ anime = paginator.page(page)
+ print(animations.count(), anime)
+ except PageNotAnInteger:
+ anime = paginator.page(1)
+ except EmptyPage:
+ anime = paginator.page(paginator.num_pages)
+
+ return render(request, 'fossee_manim/proposal_status.html',
+ {'anime': anime, 'categories': categories})
+ except BaseException:
+ profile = Profile.objects.get(user_id=user)
+ categories = Category.objects.all()
+ if profile.position == 'contributor':
+ animations = Animation.objects.filter(
+ contributor_id=user).order_by('-created')
+ else:
+ animations = Animation.objects.order_by('-created')
- return render(request, 'fossee_manim/proposal_status.html',
- {'anime': anime, 'categories': categories})
+ paginator = Paginator(list(animations), 9)
+ page = request.GET.get('page')
+ try:
+ anime = paginator.page(page)
+ print(animations.count(), anime)
+ except PageNotAnInteger:
+ anime = paginator.page(1)
+ except EmptyPage:
+ anime = paginator.page(paginator.num_pages)
+
+ return render(request, 'fossee_manim/proposal_status.html',
+ {'anime': anime,
+ 'categories': categories})
else:
return redirect('/login/')