Remove all views etc. for old-style batches
This commit is contained in:
parent
9e5b43ca66
commit
2d29174772
16 changed files with 45 additions and 906 deletions
|
@ -26,14 +26,13 @@ Product Views
|
|||
|
||||
from __future__ import unicode_literals, absolute_import
|
||||
|
||||
import os
|
||||
import re
|
||||
|
||||
import six
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy import orm
|
||||
|
||||
from rattail import enum, pod, sil, batches
|
||||
from rattail import enum, pod, sil
|
||||
from rattail.db import model, api, auth, Session as RattailSession
|
||||
from rattail.gpc import GPC
|
||||
from rattail.threads import Thread
|
||||
|
@ -425,14 +424,6 @@ class ProductsView(MasterView):
|
|||
"""
|
||||
View for making a new batch from current product grid query.
|
||||
"""
|
||||
# maybe do legacy mode
|
||||
enabled = self.rattail_config.getlist('rattail.pyramid', 'batches.providers')
|
||||
if enabled:
|
||||
supported = batches.get_providers()
|
||||
providers = dict([(key, supported[key]) for key in enabled if key in supported])
|
||||
return self.make_batch_legacy(providers)
|
||||
|
||||
# okay then, new-style it is
|
||||
supported = self.get_supported_batches()
|
||||
batch_options = []
|
||||
for key, spec in list(supported.items()):
|
||||
|
@ -512,65 +503,13 @@ class ProductsView(MasterView):
|
|||
if batch.batch_key == 'pricing':
|
||||
return self.request.route_url('batch.pricing.view', uuid=batch.uuid)
|
||||
|
||||
def make_batch_legacy(self, providers):
|
||||
if self.request.method == 'POST':
|
||||
provider_key = self.request.POST.get('provider')
|
||||
if provider_key:
|
||||
provider_factory = providers.get(provider_key)
|
||||
if provider_factory:
|
||||
provider = provider_factory(self.rattail_config)
|
||||
|
||||
if self.request.POST.get('params') == 'True':
|
||||
provider.set_params(Session(), **self.request.POST)
|
||||
|
||||
else:
|
||||
try:
|
||||
url = self.request.route_url('batch_params.{}'.format(provider.name))
|
||||
except KeyError:
|
||||
pass
|
||||
else:
|
||||
self.request.session['referer'] = self.request.current_route_url()
|
||||
return httpexceptions.HTTPFound(location=url)
|
||||
|
||||
progress = SessionProgress(self.request, 'products.batch')
|
||||
thread = Thread(target=self.make_batch_thread_legacy, args=(provider, progress))
|
||||
thread.start()
|
||||
kwargs = {
|
||||
'key': 'products.batch',
|
||||
'cancel_url': self.request.route_url('products'),
|
||||
'cancel_msg': "Batch creation was canceled.",
|
||||
}
|
||||
return self.render_progress(kwargs)
|
||||
|
||||
providers = [(p.name, p.description)
|
||||
for p in sorted(providers.itervalues(),
|
||||
key=lambda p: p.description)]
|
||||
return {'legacy_mode': True, 'providers': providers}
|
||||
|
||||
def make_batch_thread_legacy(self, provider, progress):
|
||||
"""
|
||||
Threat target for making a batch from current products query.
|
||||
"""
|
||||
session = RattailSession()
|
||||
products = self.get_effective_query(session)
|
||||
batch = provider.make_batch(session, products, progress)
|
||||
if not batch:
|
||||
session.rollback()
|
||||
session.close()
|
||||
return
|
||||
|
||||
session.commit()
|
||||
session.refresh(batch)
|
||||
session.close()
|
||||
|
||||
progress.session.load()
|
||||
progress.session['complete'] = True
|
||||
progress.session['success_url'] = self.request.route_url('batch.read', uuid=batch.uuid)
|
||||
progress.session['success_msg'] = 'Batch "{}" has been created.'.format(batch.description)
|
||||
progress.session.save()
|
||||
|
||||
@classmethod
|
||||
def defaults(cls, config):
|
||||
route_prefix = cls.get_route_prefix()
|
||||
url_prefix = cls.get_url_prefix()
|
||||
template_prefix = cls.get_template_prefix()
|
||||
permission_prefix = cls.get_permission_prefix()
|
||||
model_title = cls.get_model_title()
|
||||
|
||||
# print labels
|
||||
config.add_tailbone_permission('products', 'products.print_labels',
|
||||
|
@ -581,9 +520,12 @@ class ProductsView(MasterView):
|
|||
"View products marked as deleted")
|
||||
|
||||
# make batch from product query
|
||||
config.add_route('products.create_batch', '/products/make-batch')
|
||||
config.add_view(cls, attr='make_batch', route_name='products.create_batch',
|
||||
renderer='/products/batch.mako', permission='batches.create')
|
||||
config.add_tailbone_permission(permission_prefix, '{}.make_batch'.format(permission_prefix),
|
||||
"Create batch from {} query".format(model_title))
|
||||
config.add_route('{}.make_batch'.format(route_prefix), '{}/make-batch'.format(url_prefix))
|
||||
config.add_view(cls, attr='make_batch', route_name='{}.make_batch'.format(route_prefix),
|
||||
renderer='{}/batch.mako'.format(template_prefix),
|
||||
permission='{}.make_batch'.format(permission_prefix))
|
||||
|
||||
# search (by upc)
|
||||
config.add_route('products.search', '/products/search')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue