Skip to content

Commit a9653a8

Browse files
SharanKumar06yatharthagoenkaprakhar-da-gamaakshatnemamanavdesai27
authored
Rspc 2025 1 (#1439)
* deployment ports config * gad-4: Created fileTrackingNotAllowed.html (#1082) * gad-4: new views.py to remove students from file tracking (#1104) * fix: reverting deployment changes * GAD-5: Fix responsiveness (#1125) Co-authored-by: A Anunaya <[email protected]> Co-authored-by: Aksh Bansal <[email protected]> * fix requirements and docker-compose * fix docker compose and dependencies * add sdk and api folder structure * add sdk methods and fix some urls * update models for API * add urls for api * add methods for viewing file, inbox, outbox, getting designation with serializers and minor bug fixes * fix serializers and fix file attachment functionality in forward_file * sync with upstream * add views and fix urls * create file * create file change * fix create_file, without upload_file feature * fix sdk forward_file : accept remarks * add view_history in sdk * add blueprint for draft and archive methods to sdk * fix FileHeaderSerializer to include id * fix empty file upload error * fix inbox outbox methods to return unique ids * fix complete_flag to is_read * fix inbox outbox methods to not show archived * add view_archived method to sdk * add archive_file method to sdk * fix inbox and outbox output and add support for attachments * add draft methods to sdk * fix default values of named params * fix css for filetracking.html * fix fts serializer.py * add dept adding method to sdk * add helper methods to sdk * fix inbox based on SDK * remove track from TabMenu * fix outbox using SDK * fix archive view for SDK * fix Drafts based on SDK * fix the view file functionality in the web app * fix frontend * fix .gitignore to untrack migrations * database integration error resolved * 50% usecases implemented * Added new suggested usecases * GAD-4: FTS SDK * fix requirements and docker-compose * fix docker compose and dependencies * add sdk and api folder structure * add sdk methods and fix some urls * update models for API * add urls for api * add methods for viewing file, inbox, outbox, getting designation with serializers and minor bug fixes * fix serializers and fix file attachment functionality in forward_file * sync with upstream * add views and fix urls * create file * create file change * fix create_file, without upload_file feature * fix sdk forward_file : accept remarks * add view_history in sdk * add blueprint for draft and archive methods to sdk * fix FileHeaderSerializer to include id * fix empty file upload error * fix inbox outbox methods to return unique ids * fix complete_flag to is_read * fix inbox outbox methods to not show archived * add view_archived method to sdk * add archive_file method to sdk * fix inbox and outbox output and add support for attachments * add draft methods to sdk * fix default values of named params * fix css for filetracking.html * fix fts serializer.py * add dept adding method to sdk * add helper methods to sdk * fix inbox based on SDK * remove track from TabMenu * fix outbox using SDK * fix archive view for SDK * fix Drafts based on SDK * fix the view file functionality in the web app * fix frontend * fix .gitignore to untrack migrations * fix 1. order of files in inbox and outbox 2. order of files is mantained in uniqueList function * fix login required on viewing file * fix create_file method so that subject and description are also accepted * add rest api for create file and view file * add rest api for create, view and delete file * add rest api for inbox, outbox, history view * add rest api for draft view, forward file * prevent student access of the filetracking module * add dropdown filtering based on reciever username and update notallowed template * add option to unarchive files * fix template for filetrackingnotallowed page * fix attachments view in the history of the file * make the fields in draft view editable * update the views --------- Co-authored-by: Aragorn-64 <[email protected]> Co-authored-by: aish0749 <[email protected]> * few changes made * hellooo * GAD -5 Dashboard Changes (#1325) * dashboard and usercard updated (#1329) * Fixing ui bugs (#1335) * dashboard modified * dashboard and fts integrated * Changes made 10/04 * Changes made 10/04/24 * changes after merge * changes after merge 1 * dashboard edit * All changes done * All changes done 2 * PR raise * error, login handling done * functions created for better code understanding * fixed bugs as asked * all changes done * edited for better understanding * edited for better understanding 3 * file tracking usage comments added --------- Co-authored-by: Yathartha Goenka <[email protected]> Co-authored-by: prakhar-da-gama <[email protected]> Co-authored-by: akshatnema <[email protected]> Co-authored-by: manavdesai27 <[email protected]> Co-authored-by: Harshvardhan Singh <[email protected]> Co-authored-by: A Anunaya <[email protected]> Co-authored-by: Aksh Bansal <[email protected]> Co-authored-by: Aragorn-64 <[email protected]> Co-authored-by: Divyansh Tripathi <[email protected]> Co-authored-by: KULADEEP1 <[email protected]> Co-authored-by: aish0749 <[email protected]> Co-authored-by: BlackHAWK2001 <[email protected]> Co-authored-by: Arpit Tak <[email protected]> Co-authored-by: SukulSarve <[email protected]>
1 parent 1ca9dd4 commit a9653a8

29 files changed

+821
-579
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,4 +74,3 @@ FusionIIIT/static/
7474
package-lock.json
7575

7676
# migrations
77-
migrations/
Lines changed: 75 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
# Generated by Django 3.1.5 on 2023-03-15 18:53
1+
# Generated by Django 3.1.5 on 2024-04-12 00:22
22

3-
import datetime
43
from django.conf import settings
54
from django.db import migrations, models
65
import django.db.models.deletion
@@ -12,80 +11,85 @@ class Migration(migrations.Migration):
1211

1312
dependencies = [
1413
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
15-
('globals', '0001_initial'),
1614
]
1715

1816
operations = [
19-
# migrations.CreateModel(
20-
# name='TechTransfer',
21-
# fields=[
22-
# ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
23-
# ('pf_no', models.IntegerField()),
24-
# ('details', models.CharField(default=' ', max_length=500)),
25-
# ('date_entry', models.DateField(blank=True, default=datetime.datetime.now, null=True)),
26-
# ('start_date', models.DateField(blank=True, null=True)),
27-
# ('end_date', models.DateField(blank=True, null=True)),
28-
# ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
29-
# ],
30-
# ),
31-
# migrations.CreateModel(
32-
# name='ResearchProject',
33-
# fields=[
34-
# ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
35-
# ('pf_no', models.IntegerField()),
36-
# ('ptype', models.CharField(default='Research', max_length=100)),
37-
# ('pi', models.CharField(default=' ', max_length=1000)),
38-
# ('co_pi', models.CharField(default=' ', max_length=1500)),
39-
# ('title', models.TextField(default=' ', max_length=5000)),
40-
# ('funding_agency', models.CharField(default=' ', max_length=250, null=True)),
41-
# ('financial_outlay', models.CharField(default=' ', max_length=150, null=True)),
42-
# ('status', models.CharField(choices=[('Awarded', 'Awarded'), ('Submitted', 'Submitted'), ('Ongoing', 'Ongoing'), ('Completed', 'Completed')], max_length=10)),
43-
# ('start_date', models.DateField(blank=True, null=True)),
44-
# ('finish_date', models.DateField(blank=True, null=True)),
45-
# ('date_submission', models.DateField(blank=True, null=True)),
46-
# ('date_entry', models.DateField(blank=True, default=datetime.datetime.now, null=True)),
47-
# ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
48-
# ],
49-
# ),
50-
# migrations.CreateModel(
51-
# name='ResearchGroup',
52-
# fields=[
53-
# ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
54-
# ('name', models.CharField(max_length=120)),
55-
# ('description', models.TextField()),
56-
# ('faculty_under_group', models.ManyToManyField(related_name='allfaculty', to=settings.AUTH_USER_MODEL)),
57-
# ('students_under_group', models.ManyToManyField(related_name='allstudents', to=settings.AUTH_USER_MODEL)),
58-
# ],
59-
# ),
6017
migrations.CreateModel(
61-
name='Patent',
18+
name='category',
6219
fields=[
63-
('application_id', models.AutoField(primary_key=True, serialize=False)),
64-
('title', models.CharField(max_length=120)),
65-
('ipd_form', models.FileField(blank=True, null=True, upload_to='')),
66-
('project_details', models.FileField(blank=True, null=True, upload_to='')),
67-
('ipd_form_file', models.TextField(blank=True, null=True)),
68-
('project_details_file', models.TextField(blank=True, null=True)),
69-
('status', models.CharField(choices=[('Approved', 'Approved'), ('Disapproved', 'Disapproved'), ('Pending', 'Pending')], default='Pending', max_length=20)),
70-
('faculty_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')),
20+
('category_id', models.IntegerField(primary_key=True, serialize=False)),
21+
('category_name', models.CharField(max_length=500)),
22+
('sub_category_name', models.CharField(max_length=500)),
7123
],
24+
options={
25+
'ordering': ['-category_id'],
26+
},
27+
),
28+
migrations.CreateModel(
29+
name='projects',
30+
fields=[
31+
('project_id', models.IntegerField(primary_key=True, serialize=False)),
32+
('project_name', models.CharField(max_length=600)),
33+
('project_type', models.CharField(max_length=500)),
34+
('sponsored_agency', models.CharField(max_length=500)),
35+
('start_date', models.DateField()),
36+
('submission_date', models.DateField()),
37+
('finish_date', models.DateField()),
38+
('years', models.IntegerField()),
39+
('status', models.IntegerField(default=0)),
40+
('project_info_file', models.FileField(blank=True, null=True, upload_to='')),
41+
('financial_outlay_status', models.IntegerField(default=0)),
42+
('co_project_investigator_id', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='copi_id', to=settings.AUTH_USER_MODEL)),
43+
('project_investigator_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='pi_id', to=settings.AUTH_USER_MODEL)),
44+
],
45+
options={
46+
'ordering': ['-project_id'],
47+
},
48+
),
49+
migrations.CreateModel(
50+
name='staff_allocations',
51+
fields=[
52+
('staff_allocation_id', models.IntegerField(primary_key=True, serialize=False)),
53+
('staff_name', models.CharField(max_length=500)),
54+
('qualification', models.CharField(max_length=500)),
55+
('year', models.IntegerField()),
56+
('stipend', models.IntegerField()),
57+
('staff_type', models.CharField(default='research', max_length=100)),
58+
('project_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='research_procedures.projects')),
59+
('staff_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
60+
],
61+
options={
62+
'ordering': ['-staff_allocation_id'],
63+
},
64+
),
65+
migrations.CreateModel(
66+
name='requests',
67+
fields=[
68+
('request_id', models.IntegerField(primary_key=True, serialize=False)),
69+
('request_type', models.CharField(max_length=500)),
70+
('approval_status', models.IntegerField(default=0)),
71+
('project_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='research_procedures.projects')),
72+
('project_investigator_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rj_pi', to=settings.AUTH_USER_MODEL)),
73+
],
74+
options={
75+
'ordering': ['-request_id'],
76+
},
77+
),
78+
migrations.CreateModel(
79+
name='financial_outlay',
80+
fields=[
81+
('financial_outlay_id', models.IntegerField(primary_key=True, serialize=False)),
82+
('category', models.CharField(max_length=500)),
83+
('sub_category', models.CharField(max_length=500)),
84+
('amount', models.IntegerField()),
85+
('year', models.IntegerField()),
86+
('status', models.IntegerField(default=0)),
87+
('staff_limit', models.IntegerField(default=0)),
88+
('utilized_amount', models.IntegerField(default=0)),
89+
('project_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='research_procedures.projects')),
90+
],
91+
options={
92+
'ordering': ['-financial_outlay_id'],
93+
},
7294
),
73-
# migrations.CreateModel(
74-
# name='ConsultancyProject',
75-
# fields=[
76-
# ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
77-
# ('pf_no', models.IntegerField()),
78-
# ('consultants', models.CharField(max_length=150)),
79-
# ('title', models.CharField(max_length=1000)),
80-
# ('client', models.CharField(max_length=1000)),
81-
# ('financial_outlay', models.IntegerField()),
82-
# ('start_date', models.DateField(blank=True, null=True)),
83-
# ('end_date', models.DateField(blank=True, null=True)),
84-
# ('duration', models.CharField(blank=True, max_length=500, null=True)),
85-
# ('date_entry', models.DateField(blank=True, default=datetime.datetime.now, null=True)),
86-
# ('status', models.CharField(blank=True, choices=[('Completed', 'Completed'), ('Submitted', 'Submitted'), ('Ongoing', 'Ongoing')], default='Ongoing', max_length=10, null=True)),
87-
# ('remarks', models.CharField(blank=True, max_length=1000, null=True)),
88-
# ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
89-
# ],
90-
# ),
9195
]

FusionIIIT/applications/research_procedures/models.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ class financial_outlay(models.Model):
4646
year=models.IntegerField()
4747
status= models.IntegerField(default=0)
4848
staff_limit=models.IntegerField(default=0)
49+
utilized_amount=models.IntegerField(default=0)
4950

5051
def __str__(self):
5152
return str(self.financial_outlay_id)
@@ -80,6 +81,8 @@ class staff_allocations(models.Model):
8081
def __str__(self):
8182
return str(self.staff_allocation_id)
8283

84+
85+
8386
class Meta:
8487
ordering = ['-staff_allocation_id']
8588

FusionIIIT/applications/research_procedures/urls.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# path('add_requests/<id>/<pj_id>/',views.add_requests,name='add_requests'),
1616
url(r'^api/',include('applications.research_procedures.api.urls')),
1717
# path('view_requests/<id>/',views.view_requests),
18-
path('projects',views.projectss),
18+
1919
path('view_project_info/<id>/',views.view_project_info),
2020
# path('submit_closure_report/<id>/',views.submit_closure_report, name="submit_closure_report"),
2121
# path('add_fund_requests/<pj_id>/',views.add_fund_requests, name="add_fund_requests"),
@@ -31,6 +31,9 @@
3131
path('inbox',views.inbox, name="inbox"),
3232
path('view_request_inbox',views.view_request_inbox, name="view_request_inbox"),
3333
path('forward_request',views.forward_request, name="forward_request"),
34+
path('update_financial_outlay/<pid>/',views.update_financial_outlay,name="update_financial_outlay"),
35+
path('approve_request/<id>/',views.approve_request,name="approve_request"),
36+
3437
# path('serve-pdf/<str:filename>/', serve_pdf, name='serve_pdf'),
3538

3639

0 commit comments

Comments
 (0)