def get_params(request_dict, user): params = dict() params['lesson_title'] = request_dict['lesson_title'].strip() if 'lesson_group_id[]' in request_dict: params['lesson_groups'] = Group.objects.filter( id__in=dict(request_dict)['lesson_group_id[]']) params['period'] = request_dict['period_type'].strip() geoid = request_dict['geoid'] params['date_starttime'] = get_datetime_with_tz( request_dict['lesson_date_start'], geoid, user) params['date_endtime'] = get_datetime_with_tz( request_dict['lesson_date_finish'], geoid, user) if params['period'] != 'Once': params['date_end'] = get_datetime_with_tz(request_dict['date_end'], geoid, user) week_days = list(map(int, (dict(request_dict)['days[]']))) params['lesson_dates'] = \ get_lesson_dates(params['date_starttime'], params['date_endtime'], params['date_end'], week_days) params['lesson_days'] = ','.join(dict(request_dict)['days[]']) else: params['date_end'] = params['date_endtime'] params['lesson_dates'] = [(params['date_starttime'], params['date_endtime'])] params['lesson_days'] = '' params['lesson_description'] = request_dict['lesson_text'].strip() return params
def get_params(request_dict, user): params = dict() params['lesson_title'] = request_dict['lesson_title'].strip() if 'lesson_group_id[]' in request_dict: params['lesson_groups'] = Group.objects.filter(id__in=dict(request_dict)['lesson_group_id[]']) params['period'] = request_dict['period_type'].strip() geoid = request_dict['geoid'] params['date_starttime'] = get_datetime_with_tz(request_dict['lesson_date_start'], geoid, user) params['date_endtime'] = get_datetime_with_tz(request_dict['lesson_date_finish'], geoid, user) if params['period'] != 'Once': params['date_end'] = get_datetime_with_tz(request_dict['date_end'], geoid, user) week_days = list(map(int, (dict(request_dict)['days[]']))) params['lesson_dates'] = \ get_lesson_dates(params['date_starttime'], params['date_endtime'], params['date_end'], week_days) params['lesson_days'] = ','.join(dict(request_dict)['days[]']) else: params['date_end'] = params['date_endtime'] params['lesson_dates'] = [(params['date_starttime'], params['date_endtime'])] params['lesson_days'] = '' params['lesson_description'] = request_dict['lesson_text'].strip() return params
def get_task_params(request, check_score_after_deadline=False): user = request.user task_title = request.POST.get('task_title', '').strip() task_short_title = request.POST.get('task_short_title', task_title).strip() max_score = int(request.POST.get('max_score') or 0) task_groups = Group.objects.filter( id__in=dict(request.POST)['task_group_id[]']) parent_id = request.POST.get('parent_id') parent = None if parent_id and parent_id != 'null': parent = get_object_or_404(Task, id=int(parent_id)) children = request.POST.getlist('children[]') or None if children == 'null': children = None task_deadline = request.POST.get('deadline') or None if task_deadline: task_deadline = get_datetime_with_tz(task_deadline, request.POST.get('geoid', None), user) score_after_deadline = True if check_score_after_deadline: score_after_deadline = 'score_after_deadline' in request.POST changed_task = 'changed_task' in request.POST task_type = request.POST.get('task_type', Task().TYPE_FULL).strip() contest_integrated = False contest_id = 0 problem_id = None simple_task_types = [Task().TYPE_SIMPLE, Task().TYPE_MATERIAL] if 'contest_integrated' in request.POST and task_type not in simple_task_types: contest_integrated = True contest_id = int(request.POST['contest_id']) problem_id = request.POST['problem_id'].strip() rb_integrated = 'rb_integrated' in request.POST and task_type not in simple_task_types one_file_upload = 'one_file_upload' in request.POST and rb_integrated accepted_after_contest_ok = 'accepted_after_contest_ok' in request.POST hidden_task = 'hidden_task' in request.POST task_text = request.POST.get('task_text', '').strip() return { 'attrs': { 'updated_by': user, 'title': task_title, 'short_title': task_short_title, 'score_max': max_score, 'parent_task': parent, 'deadline_time': task_deadline, 'send_to_users': changed_task, 'sended_notify': not changed_task, 'type': task_type, 'contest_integrated': contest_integrated, 'contest_id': contest_id, 'problem_id': problem_id, 'rb_integrated': rb_integrated, 'one_file_upload': one_file_upload, 'accepted_after_contest_ok': accepted_after_contest_ok, 'score_after_deadline': score_after_deadline, 'is_hidden': hidden_task, 'task_text': task_text }, 'children': children, 'groups': task_groups }
def get_task_params(request, check_score_after_deadline=False): user = request.user task_title = request.POST.get('task_title', '').strip() task_short_title = request.POST.get('task_short_title', task_title).strip() max_score = int(request.POST.get('max_score') or 0) task_groups = Group.objects.filter(id__in=dict(request.POST)['task_group_id[]']) parent_id = request.POST.get('parent_id') parent = None if parent_id and parent_id != 'null': parent = get_object_or_404(Task, id=int(parent_id)) children = request.POST.getlist('children[]') or None if children == 'null': children = None task_deadline = request.POST.get('deadline') or None if task_deadline: task_deadline = get_datetime_with_tz(task_deadline, request.POST.get('geoid', None), user) score_after_deadline = True if check_score_after_deadline: score_after_deadline = 'score_after_deadline' in request.POST changed_task = 'changed_task' in request.POST task_type = request.POST.get('task_type', Task().TYPE_FULL).strip() contest_integrated = False contest_id = 0 problem_id = None simple_task_types = [Task().TYPE_SIMPLE, Task().TYPE_MATERIAL] if 'contest_integrated' in request.POST and task_type not in simple_task_types: contest_integrated = True contest_id = int(request.POST['contest_id']) problem_id = request.POST['problem_id'].strip() rb_integrated = 'rb_integrated' in request.POST and task_type not in simple_task_types one_file_upload = 'one_file_upload' in request.POST and rb_integrated accepted_after_contest_ok = 'accepted_after_contest_ok' in request.POST hidden_task = 'hidden_task' in request.POST task_text = request.POST.get('task_text', '').strip() nb_assignment_name = request.POST.get('nb_assignment_name') return {'attrs': { 'updated_by': user, 'title': task_title, 'short_title': task_short_title, 'score_max': max_score, 'parent_task': parent, 'deadline_time': task_deadline, 'send_to_users': changed_task, 'sended_notify': not changed_task, 'type': task_type, 'contest_integrated': contest_integrated, 'contest_id': contest_id, 'problem_id': problem_id, 'rb_integrated': rb_integrated, 'one_file_upload': one_file_upload, 'accepted_after_contest_ok': accepted_after_contest_ok, 'score_after_deadline': score_after_deadline, 'is_hidden': hidden_task, 'task_text': task_text, 'nb_assignment_name': nb_assignment_name, }, 'children': children, 'groups': task_groups }