Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #### QUICKSTIMATE/URLS.PY
- from __future__ import absolute_import
- from django.conf.urls import patterns, include, url
- from . import views
- urlpatterns = patterns('',
- url(r'^paper$', views.PaperCreateView.as_view(), name='paper'),
- url(r'^(?P<pk>[0-9]+)/$', views.PaperDetailView.as_view(), name='detail'),
- )
- #### QUICKSTIMATE/VIEWS.PY
- from __future__ import absolute_import
- from django.shortcuts import redirect
- from django.views import generic
- from django.views.generic.detail import SingleObjectMixin
- from .models import PaperEstimate
- from . import forms
- from braces import views
- class PaperCreateView(
- views.LoginRequiredMixin,
- views.SetHeadlineMixin,
- generic.CreateView,
- ):
- form_class = forms.PaperEstimateForm
- headline = "Create New Paper Estimate"
- model = PaperEstimate
- class PaperDetailView(
- views.LoginRequiredMixin,
- views.SetHeadlineMixin,
- generic.DetailView,
- ):
- model = PaperEstimate,
- template_name = 'quickstimate/paperdetail.html',
- headline = 'Paper Estimate Detail'
- #### QUICKSTIMATE/MODELS.PY
- from __future__ import absolute_import
- from django.db import models
- from django.core.urlresolvers import reverse
- from django.contrib.auth.models import User
- from django.template.defaultfilters import slugify
- from production.models import (OutputDevice, Paper, Envelope, Ink, PressSheetSize, Fold, Perf, SaddleStitch, CoilBind, UVCoating, DrillHoles)
- class PaperEstimate(models.Model):
- """
- A model to help create an estimate based off inputs entered by user
- """
- # Print Info Inputs
- signatures = models.IntegerField(blank=True, null=True, default=1)
- quantity = models.IntegerField(null=True, blank=True)
- paper = models.ForeignKey(Paper, blank=True)
- number_up = models.IntegerField(null=True, blank=True, help_text="Leave blank if entereing dimensions")
- flat_width = models.FloatField(null=True, blank=True, help_text="Leave blank if entering number up")
- flat_length = models.FloatField(null=True, blank=True, help_text="Leave blank if entering number up")
- inks = models.ForeignKey(Ink, null=True, blank=True)
- bleed = models.BooleanField(default=True)
- # Bindery Info Inputs
- fold = models.ForeignKey(Fold, null=True, blank=True)
- fold_quantity = models.FloatField(null=True, blank=True, help_text="Leave blank if same as quantity above")
- perf = models.ForeignKey(Perf, null=True, blank=True)
- perf_quantity = models.FloatField(null=True, blank=True, help_text="Leave blank if same as quantity above")
- uv_coating = models.ForeignKey(UVCoating, null=True, blank=True)
- uv_quantity = models.FloatField(null=True, blank=True, help_text="Leave blank if same as quantity above")
- drill_holes = models.ForeignKey(DrillHoles, null=True, blank=True)
- drill_holes_quantity = models.FloatField(null=True, blank=True, help_text="Leave blank if same as quantity above")
- coil_bind = models.ForeignKey(CoilBind, null=True, blank=True)
- coil_bind_quantity = models.FloatField(null=True, blank=True, help_text="Leave blank if same as quantity above")
- saddle_stitch = models.ForeignKey(SaddleStitch, null=True, blank=True)
- saddle_stitch_quantity = models.FloatField(null=True, blank=True, help_text="Leave blank if same as quantity above")
- def __str__(self):
- return str(self.pk)
- def get_absolute_url(self):
- return reverse('estimates:detail', kwargs={'pk': self.pk})
- #### QUICKSTIMATE/FORMS.PY
- from __future__ import absolute_import
- from django import forms
- from crispy_forms.helper import FormHelper
- from crispy_forms.layout import Layout, ButtonHolder, Submit
- from . import models
- class PaperEstimateForm(forms.ModelForm):
- class Meta:
- fields = (
- 'signatures',
- 'quantity',
- 'paper',
- 'number_up',
- 'flat_width',
- 'flat_length',
- 'inks',
- 'bleed',
- 'fold',
- 'fold_quantity',
- 'perf',
- 'perf_quantity',
- 'uv_coating',
- 'uv_quantity',
- 'drill_holes',
- 'drill_holes_quantity',
- 'coil_bind',
- 'coil_bind_quantity',
- 'saddle_stitch',
- 'saddle_stitch_quantity',
- )
- model = models.PaperEstimate
- def __init__(self, *args, **kwargs):
- super(PaperEstimateForm, self).__init__(*args, **kwargs)
- self.helper = FormHelper()
- self.helper.layout = Layout(
- 'signatures',
- 'quantity',
- 'paper',
- 'number_up',
- 'flat_width',
- 'flat_length',
- 'inks',
- 'bleed',
- 'fold',
- 'fold_quantity',
- 'perf',
- 'perf_quantity',
- 'uv_coating',
- 'uv_quantity',
- 'drill_holes',
- 'drill_holes_quantity',
- 'coil_bind',
- 'coil_bind_quantity',
- 'saddle_stitch',
- 'saddle_stitch_quantity',
- ButtonHolder(
- Submit('create', 'Submit', css_class='btn-primary')
- )
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement