Code Duplication    Length = 20-24 lines in 2 locations

chezbetty/views_user.py 2 locations

@@ 246-269 (lines=24) @@
243
                     .filter(Item.enabled==True)\
244
                     .filter(Item.in_stock==0)\
245
                     .order_by(Item.name).all()
246
    disabled_items = DBSession.query(Item)\
247
                     .filter(Item.enabled==False)\
248
                     .order_by(Item.name).all()
249
    return {'items': items,
250
            'out_of_stock_items': out_of_stock_items,
251
            'disabled_items': disabled_items}
252
253
254
@view_config(route_name='user_ajax_item_request_fuzzy',
255
             renderer='templates/user/item_request_fuzzy.jinja2',
256
             permission='user')
257
def item_request_fuzzy(request):
258
    new_item = request.POST['new_item']
259
    matches = DBSession.query(Item)\
260
            .filter(Item.name.ilike('%'+new_item+'%'))\
261
            .order_by(Item.name)
262
    enabled = matches.filter(Item.enabled==True)
263
    in_stock = enabled.filter(Item.in_stock>0).all()
264
    out_of_stock = enabled.filter(Item.in_stock==0).all()
265
    for item in out_of_stock:
266
        purchase = SubTransaction.all_item_purchases(item.id, limit=1)[0]
267
        item.most_recent_purchase = purchase
268
    disabled = matches.filter(Item.enabled==False).all()
269
    return {
270
            'in_stock': in_stock,
271
            'out_of_stock': out_of_stock,
272
            'disabled': disabled,
@@ 272-291 (lines=20) @@
269
    return {
270
            'in_stock': in_stock,
271
            'out_of_stock': out_of_stock,
272
            'disabled': disabled,
273
            }
274
275
276
@view_config(route_name='user_item_request',
277
             renderer='templates/user/item_request.jinja2',
278
             permission='user')
279
def item_request(request):
280
    requests = Request.all()
281
    vendors = Vendor.all()
282
    return {
283
            'requests': requests,
284
            'vendors': vendors,
285
           }
286
287
288
@view_config(route_name='user_item_request_new',
289
             request_method='POST',
290
             permission='user')
291
def item_request_new(request):
292
    try:
293
        request_text = request.POST['request']
294
        vendor_id = request.POST['vendor']