Ejemplo n.º 1
0
    def update(self):
        pps = self.context.restrictedTraverse('@@plone_portal_state')
        self.portal = pps.portal()
        self.orders_folder = self.portal.orders
        self.orders = []

        if self.request.has_key('list_orders.form.submitted'):
            # we have to have *some* filter criteria or the search will take
            # forever.
            oc = getToolByName(self.context, 'order_catalog')

            query = {'portal_type': 'emas.app.order',
                     'path': '/'.join(self.orders_folder.getPhysicalPath())}
            
            # make it a dict, because I want an easy way to get rid of some keys
            filter_criteria = DictType(self.request.get('filter_criteria', {}))

            now = DT()
            yesterday = now - 1
            tomorrow = now + 1

            start_date = self.request['order_date_start']
            end_date = self.request['order_date_end']
            if start_date and end_date:
                start_date = DT(self.request['order_date_start'])
                end_date = DT(self.request['order_date_end'])
                date_query = {'query': [start_date, end_date], 'range': 'minmax'}
                query['order_date'] = date_query
            
            for key, value in filter_criteria.items():
                query[key] = value
            
	    self.orders = oc(query)
	    if self.orders:
                b_size = int(self.request.get('b_size', 50))
                b_start = int(self.request.get('b_start', 0))
                self.orders = Batch(self.orders, b_size, b_start)
            else:
	        self.context.plone_utils.addPortalMessage(
	    	_('No orders match your search criteria.')
	        )
Ejemplo n.º 2
0
from z3c.form import group, field

from plone.namedfile.field import NamedImage, NamedFile
from plone.namedfile.field import NamedBlobImage, NamedBlobFile

from plone.app.textfield import RichText

from z3c.relationfield.schema import RelationList, RelationChoice
from plone.formwidget.contenttree import ObjPathSourceBinder

from emas.app import MessageFactory as _


vocab_shipping_methods = SimpleVocabulary(
    [SimpleTerm(value=u'postal_service', title=_(u'Postal service')),
     SimpleTerm(value=u'courier', title=_(u'Courier')),
    ]
)

# TODO: make this a portal property
VAT = 0.14


class IOrder(form.Schema):
    """
    Container for orderable items like products and services
    """
    date_ordered = schema.Datetime(
        title=_(u"Date ordered"),
        required=False,
Ejemplo n.º 3
0
    render = ViewPageTemplateFile("./templates/memberservices_table.pt")

    def __init__(
        self, context, request, url, view_url, items, show_sort_column, buttons):
        self.context = context
        super(Table, self).__init__(request, url, view_url, items,
                                    show_sort_column, buttons)
        self.intids = queryUtility(IIntIds, context=context)

    def related_service(self, related_service_id):
        return self.intids.queryObject(related_service_id)


SERVICE_TYPES = SimpleVocabulary(
    [SimpleTerm(value=u'credits', title=_(u'Credits')),
     SimpleTerm(value=u'subscription', title=_(u'Subscription'))]
    )

class IMemberServiceForm(form.Schema):
    form.mode(id='hidden')
    id = schema.Int(
        title=_(u'id', default=u'Primary key'),
        required=True,
    )

    memberid = schema.TextLine(
               title=_(u'Member id'),
        )

    title = schema.TextLine(
Ejemplo n.º 4
0
from zope import schema
from zope.schema.vocabulary import SimpleVocabulary
from zope.schema.interfaces import IContextSourceBinder
from zope.schema.vocabulary import SimpleVocabulary, SimpleTerm

from Products.CMFCore.utils import getToolByName
from plone.app.z3cform.wysiwyg.widget import WysiwygFieldWidget

from emas.app.product import Product
from emas.app.product import IProduct
from emas.app import MessageFactory as _


vocab_service_types = SimpleVocabulary(
    [
     SimpleTerm(value=u'credit', title=_(u'Credit based')),
     SimpleTerm(value=u'subscription', title=_(u'Subscription based')),
    ]
)

vocab_grades = SimpleVocabulary(
    [
     SimpleTerm(value=u'grade-10', title=_(u'Grade 10')),
     SimpleTerm(value=u'grade-11', title=_(u'Grade 11')),
     SimpleTerm(value=u'grade-12', title=_(u'Grade 12')),
    ]
)

vocab_subjects = SimpleVocabulary(
    [
     SimpleTerm(value=u'maths', title=_(u'Maths')),
Ejemplo n.º 5
0
from five import grok
from plone.directives import dexterity, form

from zope import schema
from zope.schema.vocabulary import SimpleVocabulary, SimpleTerm

from plone.app.z3cform.wysiwyg.widget import WysiwygFieldWidget

from emas.app.product import Product
from emas.app.product import IProduct
from emas.app import MessageFactory as _


vocab_service_types = SimpleVocabulary(
    [
     SimpleTerm(value=u'credit', title=_(u'Credit based')),
     SimpleTerm(value=u'subscription', title=_(u'Subscription based')),
    ]
)

vocab_grades = SimpleVocabulary(
    [
     SimpleTerm(value=u'grade10', title=_(u'Grade 10')),
     SimpleTerm(value=u'grade11', title=_(u'Grade 11')),
     SimpleTerm(value=u'grade12', title=_(u'Grade 12')),
    ]
)

vocab_subjects = SimpleVocabulary(
    [
     SimpleTerm(value=u'maths', title=_(u'Maths')),
Ejemplo n.º 6
0
from plone.indexer import indexer

from zope import schema
from zope.schema.vocabulary import SimpleVocabulary, SimpleTerm
from zope.component import queryUtility

from plone.registry.interfaces import IRegistry

from emas.theme.interfaces import IEmasSettings

from emas.app.browser.utils import compute_vcs_response_hash
from emas.app import MessageFactory as _


vocab_shipping_methods = SimpleVocabulary(
    [SimpleTerm(value=u'postal_service', title=_(u'Postal service')),
     SimpleTerm(value=u'courier', title=_(u'Courier')),
    ]
)

CREDITCARD = u'creditcard'
SMS = u'sms'
EFT = u'eft'
MOOLA = u'moola'

vocab_payment_methods = SimpleVocabulary(
    [SimpleTerm(value=CREDITCARD, title=_(u'Credit card')),
     SimpleTerm(value=EFT, title=_(u'Electronic funds transfer')),
     SimpleTerm(value=SMS, title=_(u'Premium SMS')),
     SimpleTerm(value=MOOLA, title=_(u'Moola')),
    ]