diff --git a/FusionIIIT/applications/filetracking/selectors.py b/FusionIIIT/applications/filetracking/selectors.py new file mode 100644 index 000000000..842a2e665 --- /dev/null +++ b/FusionIIIT/applications/filetracking/selectors.py @@ -0,0 +1,17 @@ +from .models import File, Tracking +from django.contrib.auth.models import User + +def get_file_by_id(file_id): + return File.objects.filter(id=file_id).first() + +def get_user_by_username(username): + return User.objects.filter(username=username).first() + +def get_all_files(): + return File.objects.all() + +def get_tracking_by_file(file): + return Tracking.objects.filter(file_id=file) + +def get_designation_by_id(model, id): + return model.objects.filter(id=id).first() \ No newline at end of file diff --git a/FusionIIIT/applications/filetracking/services.py b/FusionIIIT/applications/filetracking/services.py new file mode 100644 index 000000000..1dddf3f7c --- /dev/null +++ b/FusionIIIT/applications/filetracking/services.py @@ -0,0 +1,28 @@ +from .models import File, Tracking +from . import selectors + +def validate_file_size(upload_file): + if upload_file and upload_file.size / 1000 > 10240: + return False + return True + +def create_file_service(uploader, subject, description, designation, upload_file, extraJSON=None): + return File.objects.create( + uploader=uploader, + subject=subject, + description=description, + designation=designation, + upload_file=upload_file, + file_extra_JSON=extraJSON + ) + +def create_tracking_service(file, current_id, current_design, receive_design, receiver_id, remarks, upload_file): + return Tracking.objects.create( + file_id=file, + current_id=current_id, + current_design=current_design, + receive_design=receive_design, + receiver_id=receiver_id, + remarks=remarks, + upload_file=upload_file, + ) \ No newline at end of file diff --git a/FusionIIIT/applications/filetracking/views.py b/FusionIIIT/applications/filetracking/views.py index 0bba0d9a1..083bb8226 100644 --- a/FusionIIIT/applications/filetracking/views.py +++ b/FusionIIIT/applications/filetracking/views.py @@ -17,6 +17,9 @@ from .decorators import * from datetime import datetime; +from .services import create_file_service, create_tracking_service, validate_file_size +from . import selectors + from timeit import default_timer as time from notification.views import office_module_notif, file_tracking_notif