Skip to content
Open

Test #67

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
716ce6b
Ankita branch (#42)
kirti3192 Sep 30, 2022
d488ae8
removed media file contents
ankitamk14 Sep 30, 2022
d2d8456
removed media file contents (#62)
ankitamk14 Sep 30, 2022
8fca33d
Merge branch 'Spoken-tutorial:master' into master
ankitamk14 Sep 30, 2022
28118f9
Mail content update (#63)
ankitamk14 Sep 30, 2022
9fc085a
Merge branch 'Spoken-tutorial:master' into master
ankitamk14 Sep 30, 2022
c6f0c92
Debug (#64)
ankitamk14 Sep 30, 2022
7c40828
Merge branch 'Spoken-tutorial:master' into master
ankitamk14 Oct 3, 2022
9dcdc4f
HTML Email Template (#65)
ankitamk14 Oct 3, 2022
9003ba9
Merge branch 'Spoken-tutorial:master' into master
ankitamk14 Oct 4, 2022
c24c750
Resend mail (#66)
ankitamk14 Oct 7, 2022
3bcdc8d
Merge branch 'Spoken-tutorial:master' into master
ankitamk14 Oct 11, 2022
193f0e3
Forget password (#70)
MrShivam98 Oct 15, 2022
9cbb76b
Change Password (#71)
MrShivam98 Oct 17, 2022
93d7071
Merge branch 'Spoken-tutorial:master' into master
ankitamk14 Oct 21, 2022
d58832a
Statistics (#73)
ankitamk14 Oct 21, 2022
5d7e3a3
Merge branch 'Spoken-tutorial:master' into master
ankitamk14 Oct 25, 2022
b574585
Course stats (#74)
ankitamk14 Oct 25, 2022
07ff053
Merge branch 'Spoken-tutorial:master' into master
ankitamk14 Oct 27, 2022
d679ff8
Student test (#80)
ankitamk14 Nov 3, 2022
55e89fc
Merge branch 'Spoken-tutorial:master' into master
ankitamk14 Nov 4, 2022
6ed3591
Mdl (#82)
ankitamk14 Nov 17, 2022
aa7e979
Merge branch 'Spoken-tutorial:master' into master
ankitamk14 Nov 21, 2022
3aa3cbf
test attend button code (#85)
kirti3192 Nov 21, 2022
1582c62
Test api (#84)
ankitamk14 Nov 21, 2022
2611c02
Merge branch 'Spoken-tutorial:master' into master
ankitamk14 Nov 21, 2022
7a1e885
dca_count & test attendance duplicate record fix
ankitamk14 Nov 21, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file added cdcontent/__init__.py
Empty file.
3 changes: 3 additions & 0 deletions cdcontent/admin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from django.contrib import admin

# Register your models here.
5 changes: 5 additions & 0 deletions cdcontent/apps.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from django.apps import AppConfig


class CdcontentConfig(AppConfig):
name = 'cdcontent'
55 changes: 55 additions & 0 deletions cdcontent/forms.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Third Party Stuff
from django import forms
from django.db.models import Q

# Spoken Tutorial Stuff
from .models import TutorialResource
from csc.models import FossCategory
import json
def jsonify(data):
return json.loads(data.replace("u'", "'").replace("'", '"'))

class CDContentForm(forms.Form):
healthfosslist = list(FossCategory.objects.filter(show_on_homepage = 0, foss__contains='Health').values_list('id','foss'))

foss_list = list(TutorialResource.objects.filter(Q(status = 1)|Q(status = 2), tutorial_detail__foss__show_on_homepage = 1).values_list('tutorial_detail__foss_id', 'tutorial_detail__foss__foss').order_by('tutorial_detail__foss__foss').distinct())+healthfosslist
foss_list.insert(0, ('', 'Select FOSS Category'))

foss_category = forms.ChoiceField(
choices = foss_list,
required = True,
error_messages = {'required':'FOSS category field is required.'}
)
level = forms.ChoiceField(
choices = [('', 'Select Level'), (0, 'All'), (1, 'Basic'), (2, 'Intermediate'), (3, 'Advanced')],
required = True,
error_messages = {'required':'Level field is required.'}
)
language = forms.MultipleChoiceField(
required = True,
error_messages = {'required':'Languages field is required.'},
choices = [('', 'Select Languages')]
)
selected_foss = forms.CharField(
required = True,
error_messages = {'required': 'Add atleast one foss and language, before pressing "Create ZIP file" button'},
widget=forms.HiddenInput()
)

def __init__(self, *args, **kwargs):
super(CDContentForm, self).__init__(*args, **kwargs)
#self.fields['language'].choices = ['nothing']
if args:
print("args out ",args)
if ('foss_category' in args[0]) and ('level' in args[0]):
print("args in ",args[0])
if args[0]['foss_category'] and args[0]['foss_category'] != '' and args[0]['foss_category'] != 'None':
try:
tmp_level = int(args[0]['level'])
except:
tmp_level = ''
if tmp_level:
lang_recs = list(TutorialResource.objects.filter(Q(status = 1)|Q(status = 2), tutorial_detail__foss_id = int(args[0]['foss_category']), tutorial_detail__level_id = int(tmp_level)).values_list('language_id', 'language__name').order_by('language__name').distinct())
else:
lang_recs = list(TutorialResource.objects.filter(Q(status = 1)|Q(status = 2), tutorial_detail__foss_id = int(args[0]['foss_category'])).values_list('language_id', 'language__name').order_by('language__name').distinct())
self.fields['language'].choices = lang_recs
186 changes: 186 additions & 0 deletions cdcontent/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
# Generated by Django 3.0.3 on 2022-09-28 05:34

import datetime
from django.db import migrations, models


class Migration(migrations.Migration):

initial = True

dependencies = [
]

operations = [
migrations.CreateModel(
name='Answer',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('uid', models.IntegerField()),
('body', models.TextField()),
('date_created', models.DateTimeField(auto_now_add=True)),
('date_modified', models.DateTimeField(auto_now=True)),
],
options={
'db_table': 'website_answer',
'managed': False,
},
),
migrations.CreateModel(
name='FossCategory',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('foss', models.CharField(max_length=255, unique=True)),
('description', models.TextField()),
('status', models.BooleanField(max_length=2)),
('is_learners_allowed', models.BooleanField(default=0, max_length=2)),
('is_translation_allowed', models.BooleanField(default=0, max_length=2)),
('created', models.DateTimeField(auto_now_add=True)),
('updated', models.DateTimeField(auto_now=True)),
('show_on_homepage', models.PositiveSmallIntegerField(default=0, help_text='0:Series, 1:Display on home page, 2:Archived')),
('available_for_nasscom', models.BooleanField(default=True, help_text='If unchecked, this foss will not be available for nasscom')),
('available_for_jio', models.BooleanField(default=True, help_text='If unchecked, this foss will not be available for jio and spoken-tutorial.in')),
('csc_dca_programme', models.BooleanField(default=True, help_text='If unchecked, this foss will not be available for csc-dca programme')),
],
options={
'verbose_name': 'FOSS',
'verbose_name_plural': 'FOSSes',
'db_table': 'creation_fosscategory',
'ordering': ('foss',),
'managed': False,
},
),
migrations.CreateModel(
name='FossSuperCategory',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, unique=True)),
('created', models.DateTimeField(auto_now_add=True)),
('updated', models.DateTimeField(auto_now=True)),
],
options={
'verbose_name': 'FOSS Category',
'verbose_name_plural': 'FOSS Categories',
'db_table': 'creation_fosssupercategory',
'ordering': ('name',),
'managed': False,
},
),
migrations.CreateModel(
name='Language',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, unique=True)),
('code', models.CharField(default='en', max_length=10)),
('created', models.DateTimeField(auto_now_add=True)),
('updated', models.DateTimeField(auto_now=True)),
],
options={
'db_table': 'creation_language',
'ordering': ('name',),
'managed': False,
},
),
migrations.CreateModel(
name='Question',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('uid', models.IntegerField()),
('category', models.CharField(max_length=200)),
('tutorial', models.CharField(max_length=200)),
('minute_range', models.CharField(max_length=10)),
('second_range', models.CharField(max_length=10)),
('title', models.CharField(max_length=200)),
('body', models.TextField()),
('date_created', models.DateTimeField(auto_now_add=True)),
('date_modified', models.DateTimeField(auto_now=True)),
('views', models.IntegerField(default=1)),
('status', models.IntegerField(default=1)),
],
options={
'db_table': 'website_question',
'get_latest_by': 'date_created',
'managed': False,
},
),
migrations.CreateModel(
name='TutorialCommonContent',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('slide', models.CharField(max_length=255)),
('slide_status', models.PositiveSmallIntegerField(default=0)),
('code', models.CharField(max_length=255)),
('code_status', models.PositiveSmallIntegerField(default=0)),
('assignment', models.CharField(max_length=255)),
('assignment_status', models.PositiveSmallIntegerField(default=0)),
('prerequisite_status', models.PositiveSmallIntegerField(default=0)),
('additional_material', models.CharField(blank=True, max_length=255, null=True)),
('additional_material_status', models.PositiveSmallIntegerField(default=0)),
('keyword', models.TextField()),
('keyword_status', models.PositiveSmallIntegerField(default=0)),
('created', models.DateTimeField(auto_now_add=True)),
('updated', models.DateTimeField(auto_now=True)),
],
options={
'verbose_name': 'Tutorial Common Content',
'db_table': 'creation_tutorialcommoncontent',
'managed': False,
},
),
migrations.CreateModel(
name='TutorialDetail',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('tutorial', models.CharField(max_length=255)),
('order', models.IntegerField()),
('created', models.DateTimeField(auto_now_add=True)),
('updated', models.DateTimeField(auto_now=True)),
],
options={
'verbose_name': 'Tutorial Detail',
'db_table': 'creation_tutorialdetail',
'managed': False,
},
),
migrations.CreateModel(
name='TutorialResource',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('outline', models.TextField()),
('outline_status', models.PositiveSmallIntegerField(default=0)),
('script', models.URLField(max_length=255)),
('script_status', models.PositiveSmallIntegerField(default=0)),
('timed_script', models.URLField(max_length=255)),
('video', models.CharField(max_length=255)),
('video_id', models.CharField(blank=True, default=None, max_length=255, null=True)),
('playlist_item_id', models.CharField(blank=True, default=None, max_length=255, null=True)),
('video_thumbnail_time', models.TimeField(default='00:00:00')),
('video_status', models.PositiveSmallIntegerField(default=0)),
('status', models.PositiveSmallIntegerField(default=0)),
('version', models.PositiveSmallIntegerField(default=0)),
('hit_count', models.PositiveIntegerField(default=0)),
('created', models.DateTimeField(auto_now_add=True)),
('updated', models.DateTimeField(auto_now=True)),
('publish_at', models.DateTimeField(null=True)),
('submissiondate', models.DateTimeField(default=datetime.datetime(2000, 1, 2, 12, 0))),
('assignment_status', models.PositiveSmallIntegerField(default=0)),
('extension_status', models.PositiveIntegerField(default=0)),
],
options={
'db_table': 'creation_tutorialresource',
'managed': False,
},
),
migrations.CreateModel(
name='Level',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('level', models.CharField(max_length=255)),
('code', models.CharField(max_length=10)),
],
options={
'verbose_name': 'Tutorial Level',
'db_table': 'creation_level',
},
),
]
Empty file.
Loading