Esempio n. 1
0
def update_offering(request, course_code):
    if UnitOfferingMembership.is_admin(request.user, course_code):
        unit = UnitOffering.objects.get(code=course_code)
        if request.method == "POST":
            form = CreateOfferingForm(request.POST, instance=unit)
            if form.is_valid():
                unit = form.save()
                return render(request, 'clatoolkit/createoffering_success.html', {'verb': 'updated', 'unit': unit})

        else:
            form = CreateOfferingForm(instance=unit)

            return render(request, "clatoolkit/createoffering.html", {'verb': 'Update', 'form': form})
    else:
        raise PermissionDenied()
Esempio n. 2
0
def create_offering(request):
    # if this is a POST request we need to process the form data
    if request.method == 'POST':
        # create a form instance and populate it with data from the request:
        form = CreateOfferingForm(request.POST)
        # check whether it's valid:
        if form.is_valid():
            unit = form.save(commit=False)
            # Get provider ID and set it to unit
            post_data = request.POST.copy()
            provider = post_data.pop("provider")[0]
            app = ClientApp.objects.get(provider = provider)
            unit.lrs_provider = app
            # Start & end date 
            start_date = post_data.pop("start_date")[0]
            end_date = post_data.pop("end_date")[0]

            from datetime import datetime as dt
            client_format = '%d / %m / %Y'
            database_format = '%Y-%m-%d'

            # Create a Date object
            start_date = dt.strptime(start_date, client_format)
            end_date = dt.strptime(end_date, client_format)
            # Get formatted date string 
            start_date = start_date.strftime(database_format)
            end_date = end_date.strftime(database_format)
            # Create a Date object whose format suits database column format
            start_date = dt.strptime(start_date, database_format)
            end_date = dt.strptime(end_date, database_format)
            
            unit.start_date = start_date
            unit.end_date = end_date
            
            unit.save()

            m = UnitOfferingMembership(user=request.user, unit=unit, admin=True)
            m.save()

            return render(request, 'clatoolkit/createoffering_success.html', {'verb': 'created', 'unit': unit})

    # if a GET (or any other method) we'll create a blank form
    else:
        form = CreateOfferingForm(initial = {'provider': 'default_lrs'})

    return render(request, 'clatoolkit/createoffering.html', {'verb': 'Create', 'form': form})
Esempio n. 3
0
def update_offering(request, unit_id):
    try:
        unit = UnitOffering.objects.get(id=unit_id)
    except UnitOffering.DoesNotExist:
        raise Http404

    if UnitOfferingMembership.is_admin(request.user, unit):
        if request.method == "POST":
            form = CreateOfferingForm(request.POST, instance=unit)
            if form.is_valid():
                # Get provider ID and set it to unit
                post_data = request.POST.copy()
                provider = post_data.pop("provider")[0]
                app = ClientApp.objects.get(provider = provider)
                unit.lrs_provider = app
                # Start & end date 
                start_date = post_data.pop("start_date")[0]
                end_date = post_data.pop("end_date")[0]

                from datetime import datetime as dt
                client_format = '%d / %m / %Y'
                database_format = '%Y-%m-%d'

                # Create a Date object
                start_date = dt.strptime(start_date, client_format)
                end_date = dt.strptime(end_date, client_format)
                # Get formatted date string 
                start_date = start_date.strftime(database_format)
                end_date = end_date.strftime(database_format)
                # Create a Date object whose format suits database column format
                start_date = dt.strptime(start_date, database_format)
                end_date = dt.strptime(end_date, database_format)
                
                unit.start_date = start_date
                unit.end_date = end_date
                unit = form.save()
                return render(request, 'clatoolkit/createoffering_success.html', {'verb': 'updated', 'unit': unit})

        else:
            # Get LRS provider and set it
            form = CreateOfferingForm(instance=unit, initial = {'provider': unit.lrs_provider.provider})

            return render(request, "clatoolkit/createoffering.html", {'verb': 'Update', 'form': form})
    else:
        raise PermissionDenied()
Esempio n. 4
0
def create_offering(request):
    # if this is a POST request we need to process the form data
    if request.method == 'POST':
        # create a form instance and populate it with data from the request:
        form = CreateOfferingForm(request.POST)
        # check whether it's valid:
        if form.is_valid():
            unit = form.save(commit=False)
            unit.save()

            m = UnitOfferingMembership(user=request.user, unit=unit, admin=True)
            m.save()

            return render(request, 'clatoolkit/createoffering_success.html', {'verb': 'created', 'unit': unit})

    # if a GET (or any other method) we'll create a blank form
    else:
        form = CreateOfferingForm()

    return render(request, 'clatoolkit/createoffering.html', {'verb': 'Create', 'form': form})
Esempio n. 5
0
def update_offering(request, unit_id):
    try:
        unit = UnitOffering.objects.get(id=unit_id)
    except UnitOffering.DoesNotExist:
        raise Http404

    if UnitOfferingMembership.is_admin(request.user, unit):
        if request.method == "POST":
            form = CreateOfferingForm(request.POST, instance=unit)
            if form.is_valid():
                # Get provider ID and set it to unit
                post_data = request.POST.copy()
                provider = post_data.pop("provider")[0]
                app = ClientApp.objects.get(provider=provider)
                unit.lrs_provider = app
                # Start & end date
                start_date = post_data.pop("start_date")[0]
                end_date = post_data.pop("end_date")[0]

                from datetime import datetime as dt
                client_format = '%d / %m / %Y'
                database_format = '%Y-%m-%d'

                # Create a Date object
                start_date = dt.strptime(start_date, client_format)
                end_date = dt.strptime(end_date, client_format)
                # Get formatted date string
                start_date = start_date.strftime(database_format)
                end_date = end_date.strftime(database_format)
                # Create a Date object whose format suits database column format
                start_date = dt.strptime(start_date, database_format)
                end_date = dt.strptime(end_date, database_format)

                unit.start_date = start_date
                unit.end_date = end_date
                unit = form.save()
                return render(request,
                              'clatoolkit/createoffering_success.html', {
                                  'verb': 'updated',
                                  'unit': unit
                              })

        else:
            # Get LRS provider and set it
            form = CreateOfferingForm(
                instance=unit,
                initial={'provider': unit.lrs_provider.provider})

            return render(request, "clatoolkit/createoffering.html", {
                'verb': 'Update',
                'form': form
            })
    else:
        raise PermissionDenied()
Esempio n. 6
0
def create_offering(request):
    # if this is a POST request we need to process the form data
    if request.method == 'POST':
        # create a form instance and populate it with data from the request:
        form = CreateOfferingForm(request.POST)
        # check whether it's valid:
        if form.is_valid():
            unit = form.save(commit=False)
            # Get provider ID and set it to unit
            post_data = request.POST.copy()
            provider = post_data.pop("provider")[0]
            app = ClientApp.objects.get(provider=provider)
            unit.lrs_provider = app
            # Start & end date
            start_date = post_data.pop("start_date")[0]
            end_date = post_data.pop("end_date")[0]

            from datetime import datetime as dt
            client_format = '%d / %m / %Y'
            database_format = '%Y-%m-%d'

            # Create a Date object
            start_date = dt.strptime(start_date, client_format)
            end_date = dt.strptime(end_date, client_format)
            # Get formatted date string
            start_date = start_date.strftime(database_format)
            end_date = end_date.strftime(database_format)
            # Create a Date object whose format suits database column format
            start_date = dt.strptime(start_date, database_format)
            end_date = dt.strptime(end_date, database_format)

            unit.start_date = start_date
            unit.end_date = end_date

            unit.save()

            m = UnitOfferingMembership(user=request.user,
                                       unit=unit,
                                       admin=True)
            m.save()

            return render(request, 'clatoolkit/createoffering_success.html', {
                'verb': 'created',
                'unit': unit
            })

    # if a GET (or any other method) we'll create a blank form
    else:
        form = CreateOfferingForm(initial={'provider': 'default_lrs'})

    return render(request, 'clatoolkit/createoffering.html', {
        'verb': 'Create',
        'form': form
    })