コード例 #1
0
 def test_valid(self):
     params = {
         'title': 'hello world',
         'code': 'print("Hello World")',
         'description': 'Just printing "Hello World"',
     }
     snippet = Snippet()
     form = SnippetForm(params, instance=snippet)
     self.assertTrue(form.is_valid())
コード例 #2
0
ファイル: tests.py プロジェクト: matthewbdaly/snippetr
 def test_completed_form(self):
     """
     Test a form with content
     """
     data = {
         'title': 'My snippet',
         'content': 'This is my snippet'
     }
     form = SnippetForm(data)
     self.assertTrue(form.is_valid())
コード例 #3
0
ファイル: views.py プロジェクト: promehul/django_pastebin
def create(request):
  if request.method == "GET":
    form = SnippetForm()  
  elif request.method == "POST":
    form = SnippetForm(request.POST)
    if form.is_valid():
      data = form.cleaned_data
      snippet = Snippet(title=data.get('title'), content=data.get('content'))
      snippet.save()
      return redirect('view',snippet.id)
  return render(request, 'snippets/create.html',{'form':form})
コード例 #4
0
ファイル: views.py プロジェクト: rjlowes/sourcedrop-old
 def post(self, request):
     snippet_form = SnippetForm(request.POST)
     
     if snippet_form.is_valid():
         snippet = snippet_form.save()
         if request.user.is_authenticated():
             snippet.user = request.user
             snippet.save()
         return HttpResponseRedirect(reverse('snippet_detail', kwargs={'id': snippet.id}))
     
     return TemplateResponse(request, 'snippets/new.html', {'snippet_form': snippet_form})
コード例 #5
0
ファイル: views.py プロジェクト: rjlowes/sourcedrop-old
 def post(self, request, id):
     try:
         snippet = request.user.snippets.get(id=id)
     except Snippet.DoesNotExist:
         raise Http404()
     
     snippet_form = SnippetForm(request.POST, instance=snippet)
     
     if snippet_form.is_valid():
         snippet_form.save()
         return HttpResponseRedirect(reverse('snippet_detail', kwargs={'id': snippet.id}))
     
     return TemplateResponse(request, 'snippets/edit.html', {'snippet': snippet, 'snippet_form': snippet_form})
コード例 #6
0
def create_snippet(request):
    """ paste code on this page """

    if request.method == 'GET':
        form = SnippetForm()

    elif request.method == 'POST':
        form = SnippetForm(data=request.POST)
        if form.is_valid():
            snip_post = form.save(commit=False)  # return instates

            #            code_list = list()
            #            code = snip_post.code.split('\n')
            #            for i, line in enumerate(code, 1):
            #                this = f'{i}'.zfill(2) + ' ' + line
            #                code_list.append(this)
            #
            #            snip_post.code = '\n'.join(code_list)

            snip_post.save()  # now save
            form.save_m2m()
            # send to display view (below)
            # using url related name
            return redirect('snippet_detail', pk=snip_post.id)

    lang = Language.objects.order_by('name')
    context = {'form': form, 'lang': lang}
    return render(request, 'create.html', context)
コード例 #7
0
ファイル: views.py プロジェクト: morgner/snippollector
def edit( request, object_id ):

	# Normally the call comes from a view (list or detail)
	try:
		came_from = request.META['HTTP_REFERER']
	except:
		came_from = False

	context  = 'detail_edit'
	template = 'snippets/snippet_edit.html'

	# These basic data are expected in some templates
	data = {
		'context' : context,
		'user'    : request.user,
	}

	from snippets.models import Snippet
	from snippets.forms  import SnippetForm

	try:
		# If editing an object, the object should exist
		snippet = Snippet.objects.get( id = object_id )
	except:
		# Otherwise we have no object, which is a valid state if adding one
		snippet = None

	# We prepair the form with the snippet ('None' or a valid object)
	form = SnippetForm( request.POST or None, instance = snippet )

	if form.is_valid():
		if not snippet:
			# A new snippet needs a new ID
			snippet = form.save( commit = False )
		snippet = form.save()
	
  # The form is filled correctly and the call came from the edit view
	if form.is_valid() and came_from and came_from.endswith('/edit'):
		# so we return to the snippet details view
		return HttpResponseRedirect( snippet.GetAbsoluteUrl() )

	# It seems to be neccessary to edit the snippet: We add the form to the data
	data.update({
		'form' : form,
	})

  # and we forward the data (and potential error messages) to the edit form
	from django.template import RequestContext
	return render_to_response( template, data, context_instance = RequestContext(request) )
コード例 #8
0
ファイル: views.py プロジェクト: ralrwais/iSnippet
def snippets_list(request):
    snippets = Snippet.objects.all()
    forms = []

    for snippet in snippets:
        forms.append(SnippetForm(instance=snippet))
    return render(request, 'snippets/snippets_list.html', {
        'snippets_list': snippets,
        'snippets_forms': forms,
    })
コード例 #9
0
ファイル: views.py プロジェクト: alwaysprep/codebin
def generate_snippet_and_gist_forms(request):
    # Gist UpdateForm or CreateForm
    possible_gist = Gist.objects.filter(title=request.POST.get("title", None),
                                        author=request.user.author)
    if possible_gist.exists():
        gist_form = GistForm(data=request.POST, instance=possible_gist.first())
    else:
        gist_form = GistForm(data=request.POST)

    # Snippet UpdateForm or CreateForm
    snippet_form = SnippetForm(data=request.POST)
    if possible_gist.exists():
        possible_snippet = Snippet.objects.filter(file_name=request.POST.get(
            "file_name", None),
                                                  gist=possible_gist.first())
        if possible_snippet.exists():
            snippet_form = SnippetForm(data=request.POST,
                                       instance=possible_snippet.first())

    return snippet_form, gist_form
コード例 #10
0
ファイル: views.py プロジェクト: c-bata/django-api-practices
def edit_snippet(request, snippet_id):
    snippet = get_object_or_404(Snippet, pk=snippet_id)

    if request.method == "POST":
        form = SnippetForm(request.POST, instance=snippet)
        if form.is_valid():
            form.save()
            messages.add_message(request, messages.SUCCESS, "スニペットを更新しました。")
            return redirect('snippet_detail', snippet_id=snippet_id)
    else:
        form = SnippetForm(instance=snippet)
    return render(request, 'snippets/snippet_edit.html', {'form': form})
コード例 #11
0
def new_snippet(request):
    if request.method == 'POST':
        form = SnippetForm(request.POST)
        if form.is_valid():
            snippet = form.save(commit=False)
            snippet.created_by = request.user
            snippet.save()
            return redirect(top)
    else:
        form = SnippetForm()
    return render(request, "snippets/snippet_new.html", {'form': form})
コード例 #12
0
def snippet_change(request, pk):
    """ crud, update snippet """

    s = Snippet.objects.get(id=pk)

    if request.method == 'GET':
        form = SnippetForm(instance=s)
    elif request.method == 'POST':
        form = SnippetForm(instance=s, data=request.POST)
        if form.is_valid():
            update_snip = form.save(commit=False)
            update_snip.save()
            return redirect('snippet_detail', pk=update_snip.id)

    s_name = s.title
    context = {'form': form, 'name': s_name}
    return render(request, 'snippet_change.html', context)
コード例 #13
0
ファイル: tests.py プロジェクト: matthewbdaly/snippetr
 def test_empty_form(self):
     """
     Test a form with no content
     """
     form = SnippetForm()
     self.assertFalse(form.is_valid())
コード例 #14
0
 def test_should_specify_title(self):
     params = {}
     snippet = Snippet()
     form = SnippetForm(params, instance=snippet)
     self.assertFalse(form.is_valid())