Пример #1
0
 def get(self, request):
     """Return a form for creating a campaign."""
     form_data = request.session.pop('form_data', None)
     if form_data is None:
         form = forms.CampaignForm()
     else:
         form = forms.CampaignForm(json.loads(form_data))
     return render(
         request,
         'gurps_manager/campaign_templates/campaign-create-form.html',
         {'form': form})
Пример #2
0
 def test_valid(self):
     """Create a valid CampaignForm."""
     form = forms.CampaignForm({
         'name': factories.campaign_name(),
         'owner': factories.UserFactory.create().id
     })
     self.assertTrue(form.is_valid())
Пример #3
0
 def get(self, request, campaign_id):
     """Return a form for updating campaign ``campaign_id``."""
     campaign = _get_model_object_or_404(models.Campaign, campaign_id)
     if not _user_owns_campaign(request.user, campaign):
         return http.HttpResponseForbidden(
             'Error: you do not own this campaign.')
     form_data = request.session.pop('form_data', None)
     if form_data is None:
         form = forms.CampaignForm(instance=campaign)
     else:
         form = forms.CampaignForm(json.loads(form_data))
     return render(
         request,
         'gurps_manager/campaign_templates/campaign-id-update-form.html', {
             'campaign': campaign,
             'form': form
         })
Пример #4
0
 def test_has_description(self):
     """Create a CampaignForm and set ``description``."""
     form = forms.CampaignForm({
         'name': factories.campaign_name(),
         'description': factories.campaign_description(),
         'owner': factories.UserFactory.create().id,
     })
     self.assertTrue(form.is_valid())
Пример #5
0
    def post(self, request):
        """Create a new item.

        If creation succeeds, rediret user to ``CampaignId`` view. Otherwise,
        redirect user to ``CampaignCreateForm`` view.

        """
        form = forms.CampaignForm(request.POST)
        if form.is_valid():
            new_campaign = form.save()
            return http.HttpResponseRedirect(
                reverse('gurps-manager-campaign-id', args=[new_campaign.id]))
        else:
            # Put form data into session. Destination view will use it.
            request.session['form_data'] = json.dumps(form.data)
            return http.HttpResponseRedirect(
                reverse('gurps-manager-campaign-create-form'))
Пример #6
0
    def put(self, request, campaign_id):
        """Update campaign ``campaign_id``.

        If update suceeds, redirect user to ``CampaignId`` view. Otherwise,
        redirect user to ``CampaignIdUpdateForm`` view.

        """
        campaign = _get_model_object_or_404(models.Campaign, campaign_id)
        if not _user_owns_campaign(request.user, campaign):
            return http.HttpResponseForbidden(
                'Error: you do not own this campaign.')
        form = forms.CampaignForm(request.POST, instance=campaign)
        if form.is_valid():
            form.save()
            return http.HttpResponseRedirect(
                reverse('gurps-manager-campaign-id', args=[campaign_id]))
        else:
            request.session['form_data'] = json.dumps(form.data)
            return http.HttpResponseRedirect(
                reverse('gurps-manager-campaign-id-update-form',
                        args=[campaign_id]))
Пример #7
0
 def test_missing_name(self):
     """Create a CampaignForm without setting ``name``."""
     form = forms.CampaignForm({})
     self.assertFalse(form.is_valid())