def add_item(request):
    context = {}
    if request.method == 'GET':
        form = AddItemForm()
        context = {
            'AddItemForm': form,
        }
        return render(request, 'funfly/add_item.html', context)
    elif request.method == 'POST':
        form = AddItemForm(request.POST, request.FILES)
        item_option = form.data['item_type']
        if item_option == 'Ninegag':
            form.fields.pop('text_area')
            if form.data['source_url'] == '':
                form.fields.pop('source_url')
        elif item_option == 'Video':
            form.fields.pop('media_file')
            form.fields.pop('text_area')
        elif item_option == 'Joke':
            form.fields.pop('title')
            form.fields.pop('media_file')
        if form.is_valid():
            if item_option == 'Ninegag':
                title = form.cleaned_data['title']
                url = ''
                if 'source_url' in form.cleaned_data.keys():
                    url = form.cleaned_data['source_url']
                imagevideo = request.FILES['media_file']
                path = save_file(imagevideo, 'imagesandvideos/imageorvideos/')
                file_path, file_extension = os.path.splitext(path)
                if file_extension == '.png' or file_extension == '.jpg':
                    is_video = False
                else:
                    is_video = True
                if url:
                    ninegag = Ninegag.objects.create(title=title,
                                                     source_url=url,
                                                     imagevideo_path=path,
                                                     is_video=is_video)
                else:
                    ninegag = Ninegag.objects.create(title=title,
                                                     imagevideo_path=path,
                                                     is_video=is_video)

            elif item_option == 'Video':
                title = form.cleaned_data['title']
                source_url = form.cleaned_data['source_url']
                youtube = Youtube.objects.create(title=title,
                                                 url=source_url,
                                                 date_added=datetime.today())
            else:
                text = form.cleaned_data['text_area']
                joke = Joke.objects.create(text=text)
            return redirect('add_item')
        else:
            context = {'AddItemForm': form}
            return render(request, 'funfly/add_item.html', context)