Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
5c61a54
GAD-5: Fix responsiveness (#1125)
Lawful2002 Feb 23, 2023
9a4fc4d
Merge branch 'main' into gad-5
akshatnema Mar 15, 2023
b295d7f
Merge branch 'main' into gad-5
akshatnema Mar 15, 2023
72e34e7
Merge branch 'main' into gad-5
akshatnema Mar 18, 2023
721ee82
Merge branch 'main' into gad-5
akshatnema Mar 19, 2023
91ef4e9
Merge branch 'main' into gad-5
akshatnema Mar 23, 2023
da49572
Merge branch 'main' into gad-5
akshatnema Mar 26, 2023
468b866
fix requirements and docker-compose
Aragorn-64 Jan 22, 2024
bed09cc
fix docker compose and dependencies
theoden42 Jan 23, 2024
d136718
fix merge conflicts
theoden42 Jan 23, 2024
10a5fec
add sdk and api folder structure
theoden42 Jan 23, 2024
b60770f
add sdk methods and fix some urls
theoden42 Jan 23, 2024
fe98b1d
update models for API
Aragorn-64 Jan 23, 2024
f6c5284
add urls for api
Aragorn-64 Jan 23, 2024
8ee2f6e
merge urls in api
Aragorn-64 Jan 23, 2024
d6917b8
Merge remote-tracking branch 'upstream/main'
Aragorn-64 Jan 23, 2024
726e6f1
add methods for viewing file, inbox, outbox, getting designation with…
theoden42 Jan 27, 2024
0bd4cb4
fix serializers and fix file attachment functionality in forward_file
theoden42 Jan 28, 2024
b36972c
sync with upstream
Aragorn-64 Jan 30, 2024
1631e25
add views and fix urls
theoden42 Jan 30, 2024
201185d
create file
Aragorn-64 Jan 30, 2024
18cdf15
Merge branch 'main' of https://github.com/theoden42/Fusion
Aragorn-64 Jan 30, 2024
a3c1d63
create file change
Aragorn-64 Jan 30, 2024
ef9105e
fix create_file, without upload_file feature
Aragorn-64 Jan 30, 2024
87dc61a
fix sdk forward_file : accept remarks
Aragorn-64 Jan 30, 2024
5ad97a7
add view_history in sdk
Aragorn-64 Jan 30, 2024
07f7d04
add blueprint for draft and archive methods to sdk
Aragorn-64 Feb 6, 2024
54845b1
fix FileHeaderSerializer to include id
Aragorn-64 Feb 6, 2024
30afd49
fix empty file upload error
Aragorn-64 Feb 6, 2024
55e8a74
fix inbox outbox methods to return unique ids
Aragorn-64 Feb 6, 2024
6ead47d
fix complete_flag to is_read
Aragorn-64 Feb 6, 2024
40815fd
fix inbox outbox methods to not show archived
Aragorn-64 Feb 6, 2024
d4bf291
add view_archived method to sdk
Aragorn-64 Feb 6, 2024
aea33d8
add archive_file method to sdk
Aragorn-64 Feb 6, 2024
66706c7
fix inbox and outbox output and add support for attachments
theoden42 Feb 12, 2024
ab0489d
add draft methods to sdk
Aragorn-64 Feb 12, 2024
423a2f9
fix default values of named params
Aragorn-64 Feb 12, 2024
cf2bbd5
fix merge conflicts
theoden42 Feb 12, 2024
c60098f
fix css for filetracking.html
Aragorn-64 Feb 15, 2024
1d27054
fix fts serializer.py
Aragorn-64 Feb 15, 2024
eff3142
add dept adding method to sdk
Aragorn-64 Feb 15, 2024
6eb1284
add helper methods to sdk
Aragorn-64 Feb 17, 2024
25f7174
fix inbox based on SDK
Aragorn-64 Feb 17, 2024
49f4a41
remove track from TabMenu
Aragorn-64 Feb 17, 2024
6d908b2
fix outbox using SDK
Aragorn-64 Feb 17, 2024
736ea3b
fix archive view for SDK
Aragorn-64 Feb 17, 2024
21c32d3
fix Drafts based on SDK
Aragorn-64 Feb 17, 2024
c4a66ba
fix the view file functionality in the web app
theoden42 Feb 18, 2024
086cb3c
fix frontend
Aragorn-64 Feb 18, 2024
ce5b4f3
fix .gitignore to untrack migrations
Aragorn-64 Feb 18, 2024
b07ea3f
fix 1. order of files in inbox and outbox 2. order of files is mantai…
theoden42 Feb 19, 2024
402c8c4
fix login required on viewing file
theoden42 Feb 19, 2024
5c6ab07
fix create_file method so that subject and description are also accepted
theoden42 Feb 19, 2024
a4e01b3
add rest api for create file and view file
theoden42 Mar 3, 2024
3760068
add rest api for create, view and delete file
aish0749 Mar 3, 2024
a06d437
add rest api for inbox, outbox, history view
aish0749 Mar 3, 2024
2ab199e
add rest api for draft view, forward file
aish0749 Mar 4, 2024
e824b66
Merge remote-tracking branch 'upstream/gad-4'
theoden42 Mar 5, 2024
79ef20d
prevent student access of the filetracking module
theoden42 Mar 5, 2024
c3f14b7
add dropdown filtering based on reciever username and update notallow…
theoden42 Mar 5, 2024
a97f482
add option to unarchive files
theoden42 Mar 7, 2024
b0109b8
fix template for filetrackingnotallowed page
theoden42 Mar 7, 2024
586775a
fix attachments view in the history of the file
theoden42 Mar 7, 2024
b3c8f54
make the fields in draft view editable
theoden42 Mar 7, 2024
0dfdd3f
update the views
aish0749 Mar 10, 2024
2018781
Merge pull request #1 from aish0749/main
theoden42 Mar 10, 2024
47af12c
GAD -5 Dashboard Changes (#1325)
BlackHAWK2001 Mar 11, 2024
ed642ee
dashboard and usercard updated (#1329)
Arpittak Mar 12, 2024
d40e94d
Fixing ui bugs (#1335)
SukulSarve Mar 17, 2024
acf82f8
merge updated changes in dashboard into the filetracking module.
theoden42 Mar 19, 2024
7f33e90
fix file sending and forwarding template to include designation autom…
theoden42 Mar 19, 2024
2f8813c
fix forward file view to include designations automatically
theoden42 Mar 19, 2024
ef2de07
add redirect on designation change
Aragorn-64 Mar 19, 2024
e570edb
Merge branch 'gad-5'
Aragorn-64 Mar 19, 2024
9ba2b85
add redirect to dropdown designation to views
Aragorn-64 Mar 19, 2024
1fe6907
add redirect on designation change
Aragorn-64 Mar 19, 2024
a9dcaeb
fix: forward file does not autodetect designation
theoden42 Apr 10, 2024
5a40425
fix merge conflicts
theoden42 Apr 10, 2024
25dae0f
fix merge conflicts again
theoden42 Apr 10, 2024
9a3bcf4
add notification display and fix non department file
Aragorn-64 Apr 10, 2024
e0d9e9f
add decorator to handle staff or faculty
Aragorn-64 Apr 10, 2024
02386d9
add options to admin.py for FTS
Aragorn-64 Apr 10, 2024
0bcd0e3
fix remark saved to draft
Aragorn-64 Apr 10, 2024
d19c6ff
Merge branch 'gad-4'
Aragorn-64 Apr 10, 2024
5873ac2
Merge branch 'main' of https://github.com/theoden42/Fusion
Aragorn-64 Apr 10, 2024
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
24 changes: 20 additions & 4 deletions FusionIIIT/applications/filetracking/admin.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,23 @@
from django.contrib import admin
from .models import File, Tracking

# Register your models here.
from applications.filetracking.models import File, Tracking

admin.site.register(File)
admin.site.register(Tracking)
class FileAdmin(admin.ModelAdmin):
list_display = ('uploader', 'designation',
'subject', 'upload_date', 'is_read')
search_fields = ('uploader__user__username', 'subject', 'description')
list_filter = ('is_read',)


admin.site.register(File, FileAdmin)


class TrackingAdmin(admin.ModelAdmin):
list_display = ('file_id', 'current_id', 'receiver_id',
'receive_date', 'forward_date', 'is_read')
search_fields = ('file_id__subject',
'current_id__user__username', 'receiver_id__username')
list_filter = ('is_read',)


admin.site.register(Tracking, TrackingAdmin)
13 changes: 13 additions & 0 deletions FusionIIIT/applications/filetracking/decorators.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from django.shortcuts import render, get_object_or_404
from django.contrib.auth.models import User
from applications.globals.models import ExtraInfo, HoldsDesignation
from .sdk.methods import get_HoldsDesignation_obj


def user_check(request):
Expand Down Expand Up @@ -36,3 +37,15 @@ def _wrapped_view(request, *args, **kwargs):
return view_func(request, *args, **kwargs)
return _wrapped_view

def dropdown_designation_valid(view_func):
def _wrapped_view(request, *args, **kwargs):
designation_name = request.session.get('currentDesignationSelected', 'default_value') #from dropdown
username = request.user
try:
designation_id = get_HoldsDesignation_obj(
username, designation_name).id
except:
return render(request, 'filetracking/invalid_designation.html', {'curr_des' : designation_name})
else:
return view_func(request, *args, **kwargs)
return _wrapped_view
8 changes: 7 additions & 1 deletion FusionIIIT/applications/filetracking/sdk/methods.py
Original file line number Diff line number Diff line change
Expand Up @@ -377,7 +377,13 @@ def add_uploader_department_to_files_list(files: list) -> list:
'''
for file in files:
uploader_Extrainfo = file['uploader']
file['uploader_department'] = (str(uploader_Extrainfo.department)).split(': ')[1]
# print(uploader_Extrainfo.department)
if uploader_Extrainfo.department is None:
# for files created by staff or users that dont have department
file['uploader_department'] = 'FTS'
else:
file['uploader_department'] = (
str(uploader_Extrainfo.department)).split(': ')[1]

return files

Expand Down
97 changes: 81 additions & 16 deletions FusionIIIT/applications/filetracking/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,12 @@
from django.utils.dateparse import parse_datetime
from .sdk.methods import *
from .decorators import *
import json


@login_required(login_url="/accounts/login/")
@user_is_student
@dropdown_designation_valid
def filetracking(request):
"""
The function is used to create files by current user(employee).
Expand All @@ -41,6 +43,7 @@ def filetracking(request):
context - Holds data needed to make necessary changes in the template.
"""


if request.method == "POST":
try:
if 'save' in request.POST:
Expand All @@ -56,12 +59,19 @@ def filetracking(request):
request, "File should not be greater than 10MB")
return redirect("/filetracking")

extraJSON = {
'remarks': request.POST.get('remarks'),
# 'receiver': request.POST.get('receiver'),
# 'receive': request.POST.get('receive')
}

File.objects.create(
uploader=uploader,
description=description,
subject=subject,
designation=designation,
upload_file=upload_file
upload_file=upload_file,
file_extra_JSON=extraJSON
)

messages.success(request, 'File Draft Saved Successfully')
Expand Down Expand Up @@ -135,16 +145,21 @@ def filetracking(request):
'user', 'working', 'designation').all()

designation_name = request.session.get('currentDesignationSelected', 'default_value')
all_available_designations = request.session.get(
'allDesignations', 'default_value2')


username = request.user
designation_id = get_HoldsDesignation_obj(
designation_id = get_HoldsDesignation_obj(
username, designation_name).id

context = {
'file': file,
'extrainfo': extrainfo,
'holdsdesignations': holdsdesignations,
'designation_name': designation_name,
'designation_id': designation_id
'designation_id': designation_id,
'notifications': request.user.notifications.all()
}
return render(request, 'filetracking/composefile.html', context)

Expand Down Expand Up @@ -218,11 +233,27 @@ def drafts_view(request, id):

draft_files = add_uploader_department_to_files_list(draft_files)

user_HoldsDesignation_obj = HoldsDesignation.objects.select_related(
'user', 'working', 'designation').get(pk=id)
s = str(user_HoldsDesignation_obj).split(" - ")
designation = s[1]
draft_files = view_drafts(
username=user_HoldsDesignation_obj.user,
designation=user_HoldsDesignation_obj.designation,
src_module='filetracking'
)

# Correct upload_date type
for f in draft_files:
f['upload_date'] = parse_datetime(f['upload_date'])
f['uploader'] = get_extra_info_object_from_id(f['uploader'])

draft_files = add_uploader_department_to_files_list(draft_files)

context = {
'draft_files': draft_files,
'designations': designation,
'draft_files': draft_files,
'designations': designation,
'notifications': request.user.notifications.all()
}
return render(request, 'filetracking/drafts.html', context)

Expand Down Expand Up @@ -290,11 +321,9 @@ def outbox_view(request, id):
outward_files = add_uploader_department_to_files_list(outward_files)

context = {

'out_files': outward_files,
'viewer_designation': designation,
'out_files': outward_files,
'viewer_designation': designation,
'notifications': request.user.notifications.all()
}
return render(request, 'filetracking/outbox.html', context)

Expand Down Expand Up @@ -364,14 +393,11 @@ def inbox_view(request, id):


context = {

'in_file': inward_files,
'designations': designation,
'in_file': inward_files,
'designations': designation,
'notifications': request.user.notifications.all()
}
return render(request, 'filetracking/inbox.html', context)
return render(request, 'filetracking/inbox.html', context)


@login_required(login_url="/accounts/login")
Expand Down Expand Up @@ -478,6 +504,7 @@ def view_file(request, id):
'track': track,
'forward_enable': forward_enable,
'archive_enable': archive_enable,
'notifications': request.user.notifications.all()
}
return render(request, 'filetracking/viewfile.html', context)

Expand Down Expand Up @@ -589,11 +616,23 @@ def forward(request, id):

designations = get_designation(request.user)

context = {
designation_name = request.session.get('currentDesignationSelected', 'default_value')
all_available_designations = request.session.get(
'allDesignations', 'default_value2')

username = request.user
designation_id = get_HoldsDesignation_obj(
username, designation_name).id


context = {
'designations': designations,
'file': file,
'track': track,
'designation_name': designation_name,
'designation_id': designation_id,

'notifications': request.user.notifications.all()
}

return render(request, 'filetracking/forward.html', context)
Expand Down Expand Up @@ -653,6 +692,7 @@ def archive_view(request, id):
context = {
'archive_files': archive_files,
'designations': designation,
'notifications': request.user.notifications.all()
}
return render(request, 'filetracking/archive.html', context)

Expand All @@ -675,6 +715,7 @@ def finish_design(request):

context = {
'designation': designation,
'notifications': request.user.notifications.all()
}
return render(request, 'filetracking/finish_design.html', context)

Expand All @@ -692,6 +733,7 @@ def finish_fileview(request, id):

'out': out,
'abcd': abcd,
'notifications': request.user.notifications.all()
}
return render(request, 'filetracking/finish_fileview.html', context)

Expand All @@ -708,7 +750,8 @@ def finish(request, id):
track.update(is_read=True)
messages.success(request, 'File Archived')

return render(request, 'filetracking/finish.html', {'file': file1, 'track': track, 'fileid': id})
return render(request, 'filetracking/finish.html', {'file': file1, 'track': track, 'fileid': id,
'notifications': request.user.notifications.all()})


def AjaxDropdown1(request):
Expand Down Expand Up @@ -802,6 +845,7 @@ def forward_inward(request,id):
'designations': designations,
'file': file,
'track': track,
'notifications': request.user.notifications.all()
}
return render(request, 'filetracking/forward.html', context)

Expand Down Expand Up @@ -878,6 +922,7 @@ def edit_draft_view(request, id, *args, **kwargs):
'designations': designations,
'file': file,
'track': track,
'notifications': request.user.notifications.all()
}
return render(request, 'filetracking/editdraft.html', context)
receive = request.POST.get('receive')
Expand All @@ -891,6 +936,7 @@ def edit_draft_view(request, id, *args, **kwargs):

'designations': designations,
'file': file,
'notifications': request.user.notifications.all()
}
return render(request, 'filetracking/editdraft.html', context)

Expand All @@ -909,11 +955,30 @@ def edit_draft_view(request, id, *args, **kwargs):

designations = get_designation(request.user)

context = {
designation_name = request.session.get('currentDesignationSelected', 'default_value')
all_available_designations = request.session.get(
'allDesignations', 'default_value2')


username = request.user
designation_id = get_HoldsDesignation_obj(
username, designation_name).id

remarks = None
receive = None
receiver = None

if file.file_extra_JSON and file.file_extra_JSON['remarks']:
remarks = file.file_extra_JSON['remarks']

context = {
'designations': designations,
'file': file,
'track': track,
'track': track,
'designation_name': designation_name,
'designation_id': designation_id,
'remarks' : remarks,
'notifications': request.user.notifications.all()
}

return render(request, 'filetracking/editdraft.html', context)
Expand Down
22 changes: 10 additions & 12 deletions FusionIIIT/templates/filetracking/editdraft.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,20 +40,14 @@
<br>

<div class="field">
<label>Remarks:<textarea rows="2" name="remarks"></textarea></label>
<label>Remarks:<textarea rows="2" name="remarks">{{remarks}}</textarea></label>
</div>

<br>

<div class="field">
<label>Send as:
<select required class="ui fluid search selection dropdown" name="sender">
<option selected hidden>Select</option>
{% for designations in designations %}
<option value="{{designations.id}}">{{designations}}</option>
{% endfor %}
</select>
</label>
<div class="field"> <div class="field">
<label> Send as: {{ designation_name }}</label>
<input type="hidden" name="sender" value="{{ designation_id }}">
</div>

<br>
Expand All @@ -74,8 +68,12 @@

<div class="field">
<label for="file">Attach Files: (Maximum File Size 10 MB)</label>
<input type="file" id="file" name="myfile" accept=".pdf, .jpg, .jpeg, .png">
</div>
<input type="file" id="file" name="myfile" accept=".pdf, .jpg, .jpeg, .png" value="
{% if file.upload_file %}
file.upload_file.url
{% endif %}
">
</div>
</div>
</div>
<button type="submit" name="send" class="ui large right floated primary button" style="float: right;">
Expand Down
7 changes: 4 additions & 3 deletions FusionIIIT/templates/filetracking/filetracking.html
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@
{% comment %}
The central-rail segment starts here!
{% endcomment %}
<div class="eleven wide column">
<div class="eight wide column">
{% comment %}The ... start here!{% endcomment %}
<div class="ui active tab segment" data-tab="first">
{% block filetracking_tab %}
Expand All @@ -106,15 +106,16 @@
</div>
{% comment %}The central-rail segment ends here!{% endcomment %}

<!-- {% comment %}The right-rail segment starts here!{% endcomment %}
{% comment %}The right-rail segment starts here!{% endcomment %}
<div class="three wide column">
<div class="row">
{% block sidepanel%} {% include 'filetracking/notif_sidepanel.html' %} {% endblock %}
{% comment %}
TODO: the right rail!
{% endcomment %}
</div>
</div>
{% comment %}The right-rail segment ends here!{% endcomment %} -->
{% comment %}The right-rail segment ends here!{% endcomment %}

{% comment %}The right-margin segment!{% endcomment %}
<div class="column"></div>
Expand Down
Loading