示例#1
0
def tasks(app):
    tasks = [
        Task(
            id='93c15d1a-7ef7-4230-9937-2d083710b9a5',
            title='Buy groceries',
            is_completed=True,
            created_at=datetime.datetime(2017, 7, 4, 10, 55, 0),
        ),
        Task(
            id='6616a883-4ae1-408e-8eee-59699236191e',
            title='Plan trip to Lisbon',
            is_completed=False,
            created_at=datetime.datetime(2017, 5, 13, 20, 18, 0),
        ),
        Task(
            id='47446e2f-25d5-4672-bdd4-8313fdf8c033',
            title='Finish thesis',
            is_completed=False,
            created_at=datetime.datetime(2017, 1, 18, 9, 30, 0),
        ),
        Task(
            id='51a69ff0-2e25-4b69-8073-07a4d59076ef',
            title='Watch Alien: Covenant',
            is_completed=False,
            created_at=datetime.datetime(2017, 5, 17, 21, 32, 0),
        ),
    ]
    db.session.add_all(tasks)
    db.session.commit()
    return tasks
示例#2
0
def task_create_page(request, course_id):
    course = get_object_or_404(Course, id=course_id)

    if not course.user_is_teacher(request.user):
        return HttpResponseForbidden()

    if request.method == 'POST':
        return task_create_or_edit(request, course)

    schools = course.school_set.all()
    seminar_tasks = Task.objects.filter(type=Task().TYPE_SEMINAR).filter(course=course)
    not_seminar_tasks = Task.objects.filter(~Q(type=Task().TYPE_SEMINAR)).filter(course=course)
    has_seminar = course.issue_status_system.statuses.filter(tag=IssueStatus.STATUS_SEMINAR).count()

    task_types = Task.TASK_TYPE_CHOICES
    if not has_seminar:
        task_types = filter(lambda x: not x[0] == Task.TYPE_SEMINAR, task_types)

    context = {
        'is_create': True,
        'course': course,
        'task_types': task_types,
        'seminar_tasks': seminar_tasks,
        'not_seminar_tasks': not_seminar_tasks,
        'contest_integrated': course.contest_integrated,
        'rb_integrated': course.rb_integrated,
        'hide_contest_settings': True if not course.contest_integrated else False,
        'school': schools[0] if schools else '',
        'user_location': request.user.profile.location,
        'geo_suggest_url': settings.GEO_SUGGEST_URL
    }

    return render_to_response('task_create.html', context, context_instance=RequestContext(request))
示例#3
0
def create_mock_data(email):
    account = Account(username=email, email=email)
    account.save()
    workspace = Workspace(account=account)
    workspace.save()
    project1 = Project(title='Project 1',
                       description='Project1 description',
                       workspace=workspace,
                       color='#ffffff')
    project1.save()
    task1 = Task(title='task 1',
                 description='task 1 description',
                 project=project1,
                 estimated_hours=1,
                 status='OPEN',
                 workspace=workspace,
                 assigned_user=account)
    task1.save()
    task2 = Task(title='task 2',
                 description='task 2 description',
                 project=project1,
                 estimated_hours=1,
                 status='READY',
                 workspace=workspace,
                 assigned_user=account)
    task2.save()
    project2 = Project(title='Project 2',
                       description='Project2 description',
                       workspace=workspace,
                       color='#ffff00')
    project2.save()
    task3 = Task(title='task 3',
                 description='task 3 description',
                 project=project2,
                 estimated_hours=1,
                 status='IN_PROGRESS',
                 workspace=workspace,
                 assigned_user=account)
    task3.save()
    task4 = Task(title='task 4',
                 description='task 4 description',
                 project=project2,
                 estimated_hours=1,
                 status='DONE',
                 workspace=workspace,
                 assigned_user=account)
    task4.save()
    tasks = Task.objects.all()
    cycle = Cycle(goal_title='Default',
                  start_date=timezone.now(),
                  workspace=workspace)
    cycle.save()
    activeCycle = Cycle(goal_title='Active',
                        start_date=timezone.now(),
                        end_date=timezone.now() + timezone.timedelta(7),
                        workspace=workspace)
    activeCycle.save()
    activeCycle.tasks.set(tasks)
    cycle.save()
def test_service_get_by_name(session):
    from tasks.models import Task
    from tasks.service import get_by_user

    task1 = Task(description="test1", user_id=1)
    task2 = Task(description="test2", user_id=2)
    session.add(task1)
    session.add(task2)
    session.commit()

    query = get_by_user(session, 2)
    count = query.count()

    assert count == 1
def test_service_delete(session):
    from tasks.models import Task
    from tasks.service import delete

    task1 = Task(description="test1", user_id=1)
    task2 = Task(description="test2", user_id=1)
    session.add(task1)
    session.add(task2)
    session.commit()

    delete(session, task1.id)

    count = session.query(Task).filter(Task.id == task1.id).count()
    assert count == 0
示例#6
0
def task_edit_page(request, task_id):
    task = get_object_or_404(Task, id=task_id)

    if not task.course.user_is_teacher(request.user):
        return HttpResponseForbidden()

    if request.method == 'POST':
        return task_create_or_edit(request, task.course, task_id)

    groups_required = []
    groups = task.groups.all()
    if task.type == task.TYPE_SEMINAR:
        children_groups = reduce(lambda x, y: x + y, [list(child.groups.all()) for child in task.children.all()], [])
        groups_required = set(children_groups).intersection(groups)
    else:
        for group in groups:
            if Issue.objects.filter(task=task, student__in=group.students.all()).count():
                groups_required.append(group)

    schools = task.course.school_set.all()

    seminar_tasks = Task.objects.filter(type=Task().TYPE_SEMINAR).filter(course=task.course)
    not_seminar_tasks = Task.objects.filter(~Q(type=Task().TYPE_SEMINAR)).filter(course=task.course)

    task_types = task.TASK_TYPE_CHOICES
    if task.type == task.TYPE_SEMINAR:
        task_types = filter(lambda x: not x[0] == task.TYPE_FULL, task_types)
    else:
        task_types = filter(lambda x: not x[0] == task.TYPE_SEMINAR, task_types)

    context = {
        'is_create': False,
        'course': task.course,
        'task': task,
        'task_types': task_types,
        'groups_required': groups_required,
        'show_help_msg_task_group': True if groups_required else False,
        'seminar_tasks': seminar_tasks,
        'not_seminar_tasks': not_seminar_tasks,
        'contest_integrated': task.contest_integrated,
        'rb_integrated': task.rb_integrated,
        'hide_contest_settings': True if not task.contest_integrated or task.type in [task.TYPE_SIMPLE,
                                                                                      task.TYPE_MATERIAL] else False,
        'school': schools[0] if schools else '',
        'user_location': request.user.profile.location,
        'geo_suggest_url': settings.GEO_SUGGEST_URL
    }

    return render_to_response('task_edit.html', context, context_instance=RequestContext(request))
示例#7
0
def course_page(request, course_id):
    """Page with course related information
    contexts:
        - tasklist
        - tasks_description
    """
    user = request.user
    if not user.get_profile().is_active():
        raise PermissionDenied

    course = get_object_or_404(Course, id=course_id)
    if course.is_python_task:
        return pythontask.tasks_list(request, course)

    schools = course.school_set.all()

    if course.private and not course.user_is_attended(request.user):
        return render_to_response('courses/course_forbidden.html',
                                  {"course": course,
                                   'school': schools[0] if schools else '',
                                   'invite_form': InviteActivationForm()},
                                  context_instance=RequestContext(request))
    course.can_edit = course.user_can_edit_course(user)
    if course.can_edit:
        groups = course.groups.all().order_by('name')
        tasks = [{'group': tgr.group, 'task': tgr.task} for tgr in
                 TaskGroupRelations.objects.filter(task__course=course, group__in=groups, deleted=False).order_by(
                     'group', 'position')]
    else:
        groups = Group.objects.filter(students=user, course__in=[course])
        tasks = TaskGroupRelations.objects.filter(
            task__course=course, group__in=groups, deleted=False
        ).order_by(
            'group', 'position'
        ).values_list(
            'task__id', flat=True
        ).distinct()
        tasks = Task.objects.filter(id__in=tasks)

    if StudentCourseMark.objects.filter(student=user, course=course):
        mark = StudentCourseMark.objects.get(student=user, course=course).mark
    else:
        mark = None

    context = {}

    context['course'] = course
    context['tasks'] = tasks
    context['mark'] = mark or '--'
    context['visible_queue'] = course.user_can_see_queue(user),
    context['visible_attendance_log'] = course.user_can_see_attendance_log(user),
    context['user_is_teacher'] = course.user_is_teacher(user)
    context['task_types'] = dict(Task().TASK_TYPE_CHOICES).items()
    context['show_hidden_tasks'] = request.session.get(
        str(request.user.id) + '_' + str(course.id) + '_show_hidden_tasks', False)
    context['school'] = schools[0] if schools else ''
    context['visible_attendance_log'] = course.user_can_see_attendance_log(request.user)
    context['jupyterhub_url'] = getattr(settings, 'JUPYTERHUB_URL', '')

    return render_to_response('courses/course.html', context, context_instance=RequestContext(request))
示例#8
0
    def post(self, request):
        # crear el formulario con los datos del POST
        task_with_user = Task(owner=request.user)
        form = TaskForm(request.POST, instance=task_with_user)

        # validar el formulario
        if form.is_valid():
            # crear la tarea
            task = form.save()

            # mostrar mensaje de exito
            message = 'Tarea creada con éxito! <a href="{0}">Ver tarea</a>'.format(
                reverse('tasks_detail',
                        args=[task.pk
                              ])  # genera la URL de detalle de esta tarea
            )

            # limpiamos el formulario creando uno vacío para pasar a la plantilla
            form = TaskForm()
        else:
            # mostrar mensaje de error
            message = "Se ha producido un error"

        # renderizar la plantilla
        context = {"form": form, "message": message}
        return render(request, 'tasks/new.html', context)
示例#9
0
def bulk_action(request):

    if request.method == 'POST':
        files = request.POST.getlist('files')
        action = request.POST['action']

        for file_id in files:

            # file = File.objects.get(pk=file_id)
            if request.user.is_staff:
                file = get_object_or_404(File, pk=file_id)
            else:
                file = get_object_or_404(File, pk=file_id, user=request.user)

            if action == "delete":
                file.delete()
            if action == "check":

                task_manifest = {}
                task_manifest['file'] = file.id
                task_manifest['action'] = action
                task = Task(user=request.user)

                task.manifest = task_manifest
                task.status = 'new'
                task.action = action
                task.user = request.user
                task.save()

                check_file.delay(task.id)

                file.status = 'scheduled'
                file.save()

    return redirect('files-index')
示例#10
0
def run_task(request):
    if request.method == 'GET':
        print(request.GET)
        if 'action' in request.GET:
            action = request.GET['action']
            file_id = request.GET['file_id']

            file = File.get_object_or_404(pk=file_id)
            if action == "check":

                task_manifest = {}
                task_manifest['file'] = file.id
                task_manifest['action'] = action
                task = Task(user=request.user)

                task.manifest = task_manifest
                task.status = 'new'
                task.action = action
                task.user = request.user
                task.save()

                check_file.delay(task.id)

                file.status = 'scheduled'
                file.save()

    return redirect('files-index')
示例#11
0
def create_analysis_tasks(analysis_id):
    print('analysis_id', analysis_id)
    # samples = []
    # print('hello!')
    #create analysis tasks
    # analysis = Analysis.objects.()
    analysis = Analysis.objects.get(pk=analysis_id)
    print(dir(analysis))
    params = analysis.params
    files = params['files']
    for file in files:
        task = Task(user=analysis.user)
        task.manifest = {}
        task.manifest['files'] = [file]
        task.manifest['analysis_types'] = params['analysis_types']
        task.status = 'new'
        task.analysis = analysis
        task.action = 'analysis'
        task.save()
        analysis.tasks.add(task)

    # if 'sample_groups' in  params:
    #     samples = Sample.objects.filter(samplegroup_members__in=params['sample_groups'])
    #     # sample = Sample.objects.first()
    #     # print(dir(sample))
    # for sample in samples:      
    #     print(sample)
    #     for file in sample.files.all():
    #         bam_size = 9223372036854775807
    #         if file.extension == 'bam':
    #             if file.size < bam_size:
    #                 bamfile = file
    #                 bam_size = file.size
    #     print('small bam', bamfile.size)
    # get smallest bam file
    def test_saving_and_retrieving_items(self):
        task = Task()
        task.save()

        first_match = Match()
        first_match.full_text = 'The first match'
        first_match.task = task
        first_match.save()

        second_match = Match()
        second_match.full_text = 'The second match'
        second_match.task = task
        second_match.save()

        saved_task = Task.objects.first()
        self.assertEqual(saved_task, task)

        saved_matches = Match.objects.all()
        self.assertEqual(saved_matches.count(), 2)

        first_saved_match = saved_matches[0]
        second_saved_match = saved_matches[1]
        self.assertEqual(first_saved_match.full_text, 'The first match')
        self.assertEqual(first_saved_match.task, task)
        self.assertEqual(second_saved_match.full_text, 'The second match')
        self.assertEqual(second_saved_match.task, task)
示例#13
0
 def test_task_next_date_weekly_from_completion(self):
     task = Task()
     task.name = "Test Task"
     task.repeat = Task.WEEKLY
     task.repeat_from = Task.COMPLETION_DATE
     self.assertEqual(task.next_start_date, None)
     self.assertEqual(task.next_due_date, None)
示例#14
0
 def test_task_repeat_daily_no_start_no_due_completion(self):
     task = Task()
     task.name = "Test Task"
     task.repeat = Task.DAILY
     task.repeat_from = Task.COMPLETION_DATE
     self.assertEqual(task.next_start_date, None)
     self.assertEqual(task.next_due_date, None)
示例#15
0
def task_add_edit(request, polity_id, task_id=None):
    polity = get_object_or_404(Polity, id=polity_id)
    if not (polity.is_member(request.user)
            or polity.is_wrangler(request.user)):
        raise PermissionDenied()

    if task_id:
        task = get_object_or_404(Task, id=task_id, polity=polity)
        # We don't want to edit anything that has already done.
        if task.is_done:
            raise PermissionDenied()
    else:
        task = Task(polity=polity)

    if request.method == 'POST':
        form = TaskForm(request.POST, instance=task)
        if form.is_valid():
            task = form.save()
            return redirect(reverse('task_detail', args=(polity_id, task.id)))
    else:
        form = TaskForm(instance=task)

    ctx = {
        'polity': polity,
        'form': form,
    }
    return render(request, 'tasks/task_add_edit.html', ctx)
 def user_onboarding(user, request):
     label_names = ["Work", "Shopping", "Personal"]
     descriptions = [
         "Plan career related stuff here.",
         "From vegetables to that pending car repair.",
         "Everything about your life at home."
     ]
     for i in range(0, len(label_names)):
         label_obj = Label(user=user,
                           name=label_names[i],
                           description=descriptions[i])
         print(label_obj)
         label_obj.save()
     sample_task = Task(user=user, name = "Welcome to Ultimate! [Tutorial]", \
         desc = "Use ultimate to plan your work, chores and play - create tasks, attach sub-goals to tasks and set due dates.")
     sample_task.save()  # you cannot add a label unless the task is saved
     sample_task.labels.add(label_obj)
     sample_task.save()
     subtask_names = [
         "Try creating a new task",
         "Manage labels by creating a new label or editing an existing one",
         "Create subtasks and mark them as complete",
         "Delete this task once you're done"
     ]
     for subtask_name in subtask_names:
         subtask = SubTask(name=subtask_name, task=sample_task)
         print(subtask)
         subtask.save()
示例#17
0
    def post(self, request, *args, **kwargs):
        file = request.data.get(u'file', None)
        delimiter = str(request.data.get('delimiter', None))
        encoding = request.data.get(u'encoding', None)

        if request.data.get(u'mapping'):
            mapping = json.loads(request.data.get(u'mapping'))
        else:
            mapping = dict()

        headers = csv.reader(file, encoding=encoding,
                             delimiter=delimiter).next()

        reader = csv.DictReader(file,
                                fieldnames=headers,
                                encoding=encoding,
                                delimiter=delimiter)

        records = []
        for v in self.generate(reader, mapping):
            record = Task(label=v[u'label'],
                          description=v[u'description'],
                          dev_eta=v[u'dev_eta'])
            records.append(record)

            if len(records) == 1500:
                Task.objects.bulk_create(records)
                records = []

        if len(records) > 0:
            Task.objects.bulk_create(records)

        return response.Response(status=status.HTTP_201_CREATED)
示例#18
0
def addTask(request):
    if request.method == "POST":
        task = Task(title=request.POST["title"],
                    description=request.POST["description"])
        task.save()
        return redirect('viewAllTasks')
    return render(request, 'addTask.html')
示例#19
0
文件: views.py 项目: Adikeshav/intern
def add_project_task(request, slug):
    if request.user.is_authenticated():
        project = Project.objects.get(slug=slug)
        if request.POST:
            form = TaskForm(request.POST)
            if form.is_valid():
                data = form.cleaned_data
                td = data['end_date'] - data['start_date']
                if td.total_seconds() > 0:
                    task = Task()
                    task.name = data['name']
                    task.description = data['description']
                    task.start_date = data['start_date']
                    task.end_date = data['end_date']
                    task.user = data['user']
                    task.project = project
                    task.save()
                else:
                    messages.add_message(request, messages.ERROR,
                                         " end date is less than start date!")
                    return (redirect(reverse('Task:add_task')))
                return (redirect(reverse('Home:manager')))
            else:
                messages.add_message(request, messages.ERROR, "invalid form")
                return (redirect(reverse('Task:add_task')))
        else:
            form = TaskForm()
            send_dict = {}
            context_instance = RequestContext(request)
            send_dict['project'] = project
            send_dict['form'] = form
            return render_to_response('tasks/add_task.html', send_dict,
                                      context_instance)
    else:
        return redirect(reverse('Login:login'))
示例#20
0
def upload(name):
    global BASE_DIR
    lang_info = json.load(open(BASE_DIR + "info/lang.json", 'r'))
    task_folder = BASE_DIR + "test/" + name + "/"
    folder = os.listdir(task_folder)
	
    dummy_pattern = re.compile("{}.dummy.in.[0-9a-b]+".format(name))
    test_pattern = re.compile("{}.in.[0-9a-b]+".format(name))

    dummy = []
    test = []
    limits = json.load(open(task_folder + "{}.json".format(name), 'r'))

    for i in folder:
        if dummy_pattern.match(i):
            dummy.append(i)
        if test_pattern.match(i):
	    test.append(i)

    task = Task(name=name, link='',
		time_limit=limits['limits']['time'], 
                memory_limit=limits['limits']['memory'],
		url=name, checker='test/'+name+'/checker',
		checker_lang=limits['checker_lang'], tip=0)
    task.save()
  
    print type(task.checker)
    print(compiler.compilecode(
        str(task.checker) + '.' + lang_info[task.checker_lang]['ext'],
        str(task.checker), task.checker_lang, lang_info[task.checker_lang]['ext'])
        )
    p = re.compile('{}.dummy.in.([0-9a-z]+)'.format(name))
    insert_test_case(dummy, task, task_folder, False, p)
    p = re.compile('{}.in.([0-9a-z]+)'.format(name))
    insert_test_case(test, task, task_folder, True, p)
示例#21
0
    def test_mark_incomplete_marks_incomplete(self):
        target = Task()
        target.complete_time = timezone.now() - timezone.timedelta(days=1)
        self.assertTrue(target.is_complete)

        target.mark_incomplete(commit=False)
        self.assertFalse(target.is_complete)
示例#22
0
def contest_import_page(request, course_id):
    course = get_object_or_404(Course, id=course_id)

    if not course.user_is_teacher(request.user):
        return HttpResponseForbidden()

    schools = course.school_set.all()

    seminar_tasks = Task.objects.filter(type=Task().TYPE_SEMINAR).filter(
        course=course)

    context = {
        'is_create': True,
        'course': course,
        'rb_integrated': course.rb_integrated,
        'seminar_tasks': seminar_tasks,
        'school': schools[0] if schools else '',
        'contest_import': True,
        'user_location': request.user.get_profile().location,
        'geo_suggest_url': settings.GEO_SUGGEST_URL
    }

    return render_to_response('contest_import.html',
                              context,
                              context_instance=RequestContext(request))
示例#23
0
 def test_task_title_equal_expected_title(self):
     """
     If title not equal expected title, then False is returned.
     """
     task = Task(title='Test title')
     task.save()
     self.assertEqual(task.title, 'Test title')
示例#24
0
def add_task(request, flat_id=None):
    name = request.data.get('name', None)
    user_ids = request.data.get('users', None)
    frequency = request.data.get('frequency', None)

    if name is None or user_ids is None or frequency is None:
        return Response(data={'message': 'Wrong parameters'}, status=400)

    if frequency not in ['DAILY', 'WEEKLY', 'MONTHLY']:
        return Response(
            data={'message': 'Frequency can be: DAILY, WEEKLY, MONTHLY'},
            status=400)

    try:
        flat = Flat.objects.get(id=flat_id)
    except ObjectDoesNotExist:
        return Response(
            data={'message': 'The flat {0} does not exist.'.format(flat_id)},
            status=400)

    user_list = []
    for user_id in user_ids.split(','):
        try:
            user = User.objects.get(id=user_id)
            if user not in flat.users.all():
                return Response(data={
                    'message':
                    '{0} is not a member of the flat.'.format(user.username)
                },
                                status=400)

            user_list.append(user)
        except ObjectDoesNotExist:
            return Response(data={
                'message':
                'The user id {0} does not exist.'.format(user_id)
            },
                            status=400)

    rule = Rule(frequency=frequency, name='{0}_{1}'.format(frequency, name))
    rule.save()

    event = Event(rule=rule,
                  start=datetime.now(),
                  end=datetime.now() + timedelta(days=60),
                  calendar=Calendar.objects.get_calendar_for_object(flat))
    event.save()

    task = Task(flat=flat, name=name, event=event)
    task.save()

    for u in user_list:
        task.users.add(u)
    task.refresh_from_db()

    return Response(data={
        'message': 'Your task has been created.',
        'task': TaskSerializer(task).data,
    },
                    status=200)
示例#25
0
 def test_complete_defaults_to_false(self):
     """
     If done not properly specified, then False is returned.
     """
     task = Task(title='Test title')
     task.save()
     self.assertFalse(task.complete)
示例#26
0
 def test_timestamp_field(self):
     T = Task(claimedTime=123456789,
              owner_id=2,
              hub_id=2,
              description="asd")
     T.save()
     self.assertEqual(T.as_dict()['claimedTime'], 123456789)
示例#27
0
def task_list(request):
    if request.method == 'GET':
        tasks = Task.objects.all()
        tasks_serializer = TaskSerializer(tasks, many=True)

        return JsonResponse(tasks_serializer.data, safe=False)

    elif request.method == 'POST':
        try:
            task_data = JSONParser().parse(request)
            task_name = task_data.get('task_name', "default task name")
            task_description = task_data.get('task_description', "default task description")
            task_start_date = task_data.get('task_start_date', datetime.datetime.now())
            if task_start_date == '':
                task_start_date = datetime.datetime.now()
            task_end_date = task_data.get('task_end_date', datetime.datetime.now())
            if task_end_date == '':
                task_end_date = datetime.datetime.now()
            related_project_name = task_data.get('task_project_name', "default task description")
            project = Project.objects.get(name=related_project_name)
            task = Task(name=task_name, description=task_description, start_date=task_start_date,
                        end_date=task_end_date, project=project)
            task.save()
            return HttpResponse(status=status.HTTP_201_CREATED)
        except:
            return HttpResponse(status=status.HTTP_400_BAD_REQUEST)

    elif request.method == 'DELETE':
        Task.objects.all().delete()
        return HttpResponse(status=status.HTTP_204_NO_CONTENT)
示例#28
0
def addTask(request):
    if request.method == 'POST':
        form = AddTask(request.POST)
        if form.is_valid():
            name = request.POST.get('name', '')
            description = request.POST.get('description', '')
            date = request.POST.get('date', '')
            completed = request.POST.get('completed', False)
            task = Task(name=name,
                        description=description,
                        date=date,
                        completed=completed)
            task.save()
            return render(
                request, 'app/thanks.html', {
                    'title': 'Thanks',
                    'year': datetime.now().year,
                    'message': 'task added',
                })
    else:
        form = AddTask()
    return render(
        request, 'app/addtask.html', {
            'form': form,
            'title': 'AddTask',
            'year': datetime.now().year,
            'massage': 'addtask',
        })
示例#29
0
def configured_project(business_client, annotator_client):
    _project_for_text_choices_onto_A_B_classes = dict(title='Test',
                                                      label_config='''
            <View>
              <Text name="meta_info" value="$meta_info"></Text>
              <Text name="text" value="$text"></Text>
              <Choices name="text_class" toName="text" choice="single">
                <Choice value="class_A"></Choice>
                <Choice value="class_B"></Choice>
              </Choices>
            </View>''')
    _2_tasks_with_textA_and_textB = [{
        'meta_info': 'meta info A',
        'text': 'text A'
    }, {
        'meta_info': 'meta info B',
        'text': 'text B'
    }]

    # get user to be owner
    users = User.objects.filter(
        email='*****@*****.**'
    )  # TODO: @nik: how to get proper email for business here?
    project = make_project(_project_for_text_choices_onto_A_B_classes,
                           users[0])

    assert project.ml_backends.first().url == 'http://localhost:8999'

    Task.objects.bulk_create([
        Task(data=task, project=project)
        for task in _2_tasks_with_textA_and_textB
    ])
    return project
示例#30
0
    def mutate(self, info, name, description):
        task = Task(name=name, description=description, completed=False)
        task.save()

        ok = True

        return CreateTask(task, ok=ok)