def verbose_name(self): display_string =display.small_measurement(self.panel_depth) + " panel--" + display.retail_size(self.retail_size) +\ "--" + self.coating.description if self.spray_color: display_string += "--" + self.spray_color.color if self.cradle_depth: display_string += "--cradled->depth: " + display.small_measurement(self.cradle_depth) +\ ", width: " + display.small_measurement(self.cradle_width) return display_string
def verbose_name(self): display_string =display.small_measurement(self.panel_depth) + " panel--" + display.retail_size(self.retail_size) +\ "--" + self.coating.description if self.spray_color: display_string += "--" + self.spray_color.color if self.cradle_depth: display_string += "--cradled->depth: " + display.small_measurement(self.cradle_depth) +\ ", width: " + display.small_measurement(self.cradle_width) return display_string
def get_current_sheet(): ''' Description ----------- Returns the latest cutting sheet along with all of its information. If none exists, a new cutting sheet is created ''' latestSheet = RetailCuttingSheet.objects.first() if (not latestSheet): new_sheet() latestSheet = RetailCuttingSheet.objects.order_by('-id')[0] entries = RetailCuttingSheetEntry.objects.filter(retail_cutting_sheet__id = latestSheet.id) entry_list = [] for entry in entries: instructions = RetailCuttingSheetInstruction.objects.filter(retail_cutting_sheet_entry__id = entry.id) instruction_list = [] for instruction in instructions: new_instruction = RetailCuttingSheetInstructionDisplay(instruction.quantity, instruction.output_string, RetailCuttingPattern.objects.filter(id = instruction.retail_cutting_pattern_id)[0].cutting_instructions, ) instruction_list.append(new_instruction) new_entry_display = RetailCuttingSheetEntryDisplay(entry.id, instruction_list, entry.coating.description, entry.coating.id, display.small_measurement(entry.panel_depth), entry.panel_depth_id, entry.is_cradled) entry_list.append(new_entry_display) return RetailCuttingSheetDisplay(latestSheet.id, entry_list)
def get_recipes_for_packs(item, sku): ''' Description ----------- Gets and returns the recipe for a pack whose item is specified by sku ''' description = item.description packs = Pack.objects.filter(item__id=item.id) recipes = [] for pack in packs: retail_size = RetailSize.objects.get( itemrecipe__pack__item__id=item.id) retail_size = display.retail_size(retail_size) panel_depth = PanelDepth.objects.get( itemrecipe__pack__item__id=item.id) panel_depth = display.small_measurement(panel_depth) case_quantity = item.case_quantity pack_quantity = Pack.objects.get(item__id=item.id).pack_quantity try: cradle_depth = CradleDepth.objects.get( itemrecipe__pack__item__id=item.id) cradle_width = CradleWidth.objects.get( itemrecipe__pack__item__id=item.id) cradle_depth = display.small_measurement(cradle_depth) cradle_width = display.small_measurement(cradle_width) except: cradle_width = 'n/a' cradle_depth = 'n/a' coating = Coating.objects.get( itemrecipe__pack__item__id=item.id).description if coating == 'Pastelbord': spray_color = SprayColor.objects.get( itemrecipe__pack__item__id=item.id).color else: spray_color = 'n/a' recipe = RecipeDisplay(sku, description, retail_size, panel_depth, cradle_depth, cradle_width, spray_color, coating, case_quantity, pack_quantity) recipes.append(recipe) return recipes
def get_recipe_for_single(item, sku): ''' Description ----------- Gets and returns recipe for items that do not have packs ''' description = item.description retail_size = RetailSize.objects.get(itemrecipe__item__id=item.id) retail_size = display.retail_size(retail_size) panel_depth = PanelDepth.objects.get(itemrecipe__item__id=item.id) panel_depth = display.small_measurement(panel_depth) case_quantity = item.case_quantity try: pack_quantity = Pack.objects.get(item__id=item.id).pack_quantity except: pack_quantity = 1 try: cradle_depth = CradleDepth.objects.get(itemrecipe__item__id=item.id) cradle_depth = display.small_measurement(cradle_depth) cradle_width = CradleWidth.objects.get(itemrecipe__item__id=item.id) cradle_width = display.small_measurement(cradle_width) except: cradle_width = 'n/a' cradle_depth = 'n/a' coating = Coating.objects.get(itemrecipe__item__id=item.id).description if coating == 'Pastelbord': spray_color = SprayColor.objects.get( itemrecipe__item__id=item.id).color else: spray_color = 'n/a' recipe = RecipeDisplay(sku, description, retail_size, panel_depth, cradle_depth, cradle_width, spray_color, coating, case_quantity, pack_quantity) return recipe
def review_instructions(coating_id, panel_depth_id): entries, sheet_id = retrieve_entries(coating_id, panel_depth_id) instructions = RetailCuttingSheetInstruction.objects.filter(retail_cutting_sheet_entry_id__in = \ entries).order_by('retail_cutting_pattern__cutting_instructions') output_list = [] for instruction in instructions: cutting_pattern = RetailCuttingPattern.objects.get(id = \ instruction.retail_cutting_pattern_id) coating_size_id = instruction.retail_cutting_pattern.coating_size.id instruction_string = instruction.retail_cutting_pattern.cutting_instructions quantity = instruction.quantity cutting_pattern_id = instruction.retail_cutting_pattern_id outputs = RetailCuttingPatternOutput.objects.filter(retail_cutting_pattern_id = \ cutting_pattern_id) cutting_pattern = RetailCuttingPattern.objects.get( id=cutting_pattern_id) outputString = '' for output in outputs: retail_size_display = display.retail_size( RetailSize.objects.get(id=output.retail_size_id)) outputString = outputString + retail_size_display + \ (' cradled' if output.is_for_cradle else ' flat') + ' (' + str(output.quantity) + '), ' tercero = CoatingSize.objects.get(id=coating_size_id) terceroDisplay = '' total_tercero_quantity = 0 terceroDisplay = ', ' + instruction.retail_cutting_pattern.grade + \ ' (' + str(quantity) + '), ' terceroDisplay = display.tercero_size(tercero) + terceroDisplay if (len(terceroDisplay) > 2): terceroDisplay = terceroDisplay[:(len(terceroDisplay) - 2)] coating_description = Coating.objects.filter( id=coating_id)[0].description panel_depth = PanelDepth.objects.get(id=panel_depth_id) firstI = cutting_pattern.cutting_instructions.index('I') instructionIndent = '' for i in range(0, firstI + 8): instructionIndent = instructionIndent + ' ' pattern_display_string = cutting_pattern.cutting_instructions.replace( '___', '<br/>' + instructionIndent) pattern_display_string = pattern_display_string.replace(' ', ' ') pattern_display_string = pattern_display_string.replace('->', '->') output_list.append(RetailCuttingSheetFinalInstructionDisplay(coating_description,\ display.small_measurement(panel_depth), terceroDisplay, outputString,\ pattern_display_string, \ instruction.id, quantity, cutting_pattern.id)) return output_list
def create_cutting_sheet_output(sheet_data, coating_id, panel_depth_id): output_list = [] for instruction, instruction_data in sheet_data.iteritems(): for coating_size_id, data in instruction_data.iteritems(): outputs = RetailCuttingPatternOutput.objects.filter(retail_cutting_pattern_id = \ data['pattern_id']) cutting_pattern = RetailCuttingPattern.objects.get( id=data['pattern_id']) outputString = '' for output in outputs: retail_size_display = display.retail_size( RetailSize.objects.get(id=output.retail_size_id)) outputString = outputString + retail_size_display + \ (' cradled' if output.is_for_cradle else ' flat') + ' (' + str(output.quantity) + '), ' tercero = CoatingSize.objects.get( id=cutting_pattern.coating_size_id) terceroDisplay = '' total_tercero_quantity = 0 for grade, quantity in data.iteritems(): if grade is not 'pattern_id': terceroDisplay = terceroDisplay + grade + \ ' (' + str(quantity) + '), ' total_tercero_quantity = total_tercero_quantity + quantity terceroDisplay = display.tercero_size(tercero) + ' (' + str( total_tercero_quantity) + '), Grades: ' + terceroDisplay if (len(terceroDisplay) > 2): terceroDisplay = terceroDisplay[:(len(terceroDisplay) - 2)] coating_description = Coating.objects.filter( id=coating_id)[0].description panel_depth = PanelDepth.objects.get(id=panel_depth_id) instructionIndent = '' firstI = cutting_pattern.cutting_instructions.index('I') for i in range(0, firstI + 8): instructionIndent = instructionIndent + ' ' pattern_display_string = cutting_pattern.cutting_instructions.replace( '___', '<br/>' + instructionIndent) pattern_display_string = pattern_display_string.replace( ' ', ' ') pattern_display_string = pattern_display_string.replace( '->', '->') output_list.append(RetailCuttingSheetFinalInstructionDisplay(coating_description, \ display.small_measurement(panel_depth), terceroDisplay, outputString, \ pattern_display_string, 0, 33, cutting_pattern.id)) return output_list
def review_instructions(coating_id, panel_depth_id): entries, sheet_id = retrieve_entries(coating_id, panel_depth_id) instructions = RetailCuttingSheetInstruction.objects.filter(retail_cutting_sheet_entry_id__in = \ entries).order_by('retail_cutting_pattern__cutting_instructions') output_list = [] for instruction in instructions: cutting_pattern = RetailCuttingPattern.objects.get(id = \ instruction.retail_cutting_pattern_id) coating_size_id = instruction.retail_cutting_pattern.coating_size.id instruction_string = instruction.retail_cutting_pattern.cutting_instructions quantity = instruction.quantity cutting_pattern_id = instruction.retail_cutting_pattern_id outputs = RetailCuttingPatternOutput.objects.filter(retail_cutting_pattern_id = \ cutting_pattern_id) cutting_pattern = RetailCuttingPattern.objects.get(id = cutting_pattern_id) outputString = '' for output in outputs: retail_size_display = display.retail_size(RetailSize.objects.get(id = output.retail_size_id)) outputString = outputString + retail_size_display + \ (' cradled' if output.is_for_cradle else ' flat') + ' (' + str(output.quantity) + '), ' tercero = CoatingSize.objects.get(id = coating_size_id) terceroDisplay = '' total_tercero_quantity = 0 terceroDisplay = ', ' + instruction.retail_cutting_pattern.grade + \ ' (' + str(quantity) + '), ' terceroDisplay = display.tercero_size(tercero) + terceroDisplay if (len(terceroDisplay) > 2): terceroDisplay = terceroDisplay[:(len(terceroDisplay)-2)] coating_description = Coating.objects.filter(id = coating_id)[0].description panel_depth = PanelDepth.objects.get(id = panel_depth_id) firstI = cutting_pattern.cutting_instructions.index('I') instructionIndent = '' for i in range(0,firstI + 8): instructionIndent = instructionIndent + ' ' pattern_display_string = cutting_pattern.cutting_instructions.replace('___', '<br/>' + instructionIndent) pattern_display_string = pattern_display_string.replace(' ', ' ') pattern_display_string = pattern_display_string.replace('->', '->') output_list.append(RetailCuttingSheetFinalInstructionDisplay(coating_description,\ display.small_measurement(panel_depth), terceroDisplay, outputString,\ pattern_display_string, \ instruction.id, quantity, cutting_pattern.id)) return output_list
def get_current_sheet(): ''' Description ----------- Returns the latest cutting sheet along with all of its information. If none exists, a new cutting sheet is created ''' latestSheet = RetailCuttingSheet.objects.first() if (not latestSheet): new_sheet() latestSheet = RetailCuttingSheet.objects.order_by('-id')[0] entries = RetailCuttingSheetEntry.objects.filter( retail_cutting_sheet__id=latestSheet.id) entry_list = [] for entry in entries: instructions = RetailCuttingSheetInstruction.objects.filter( retail_cutting_sheet_entry__id=entry.id) instruction_list = [] for instruction in instructions: new_instruction = RetailCuttingSheetInstructionDisplay( instruction.quantity, instruction.output_string, RetailCuttingPattern.objects.filter( id=instruction.retail_cutting_pattern_id) [0].cutting_instructions, ) instruction_list.append(new_instruction) new_entry_display = RetailCuttingSheetEntryDisplay( entry.id, instruction_list, entry.coating.description, entry.coating.id, display.small_measurement(entry.panel_depth), entry.panel_depth_id, entry.is_cradled) entry_list.append(new_entry_display) return RetailCuttingSheetDisplay(latestSheet.id, entry_list)
def create_cutting_sheet_output(sheet_data, coating_id, panel_depth_id): output_list = [] for instruction, instruction_data in sheet_data.iteritems(): for coating_size_id, data in instruction_data.iteritems(): outputs = RetailCuttingPatternOutput.objects.filter(retail_cutting_pattern_id = \ data['pattern_id']) cutting_pattern = RetailCuttingPattern.objects.get(id = data['pattern_id']) outputString = '' for output in outputs: retail_size_display = display.retail_size(RetailSize.objects.get(id = output.retail_size_id)) outputString = outputString + retail_size_display + \ (' cradled' if output.is_for_cradle else ' flat') + ' (' + str(output.quantity) + '), ' tercero = CoatingSize.objects.get(id = cutting_pattern.coating_size_id) terceroDisplay = '' total_tercero_quantity = 0 for grade, quantity in data.iteritems(): if grade is not 'pattern_id': terceroDisplay = terceroDisplay + grade + \ ' (' + str(quantity) + '), ' total_tercero_quantity = total_tercero_quantity + quantity terceroDisplay = display.tercero_size(tercero) + ' (' + str(total_tercero_quantity) + '), Grades: ' + terceroDisplay if (len(terceroDisplay) > 2): terceroDisplay = terceroDisplay[:(len(terceroDisplay)-2)] coating_description = Coating.objects.filter(id = coating_id)[0].description panel_depth = PanelDepth.objects.get(id = panel_depth_id) instructionIndent = '' firstI = cutting_pattern.cutting_instructions.index('I') for i in range(0, firstI + 8): instructionIndent = instructionIndent + ' ' pattern_display_string = cutting_pattern.cutting_instructions.replace('___', '<br/>' + instructionIndent) pattern_display_string = pattern_display_string.replace(' ', ' ') pattern_display_string = pattern_display_string.replace('->', '->') output_list.append(RetailCuttingSheetFinalInstructionDisplay(coating_description, \ display.small_measurement(panel_depth), terceroDisplay, outputString, \ pattern_display_string, 0, 33, cutting_pattern.id)) return output_list
def __unicode__(self): return display.small_measurement(self)
def panel_depths(): panel_depths = PanelDepth.objects.order_by('measurement') panel_depth_list = [(int(depth.id), display.small_measurement(depth)) for depth in panel_depths] return panel_depth_list
def cradle_widths(): cradle_widths = CradleWidth.objects.order_by('measurement') cradle_width_list = [(int(width.id), display.small_measurement(width)) for width in cradle_widths] return cradle_width_list
def cradle_widths(): cradle_widths = CradleWidth.objects.order_by('measurement') cradle_width_list = [(int(width.id), display.small_measurement(width)) for width in cradle_widths] return cradle_width_list
def panel_depths(): panel_depths = PanelDepth.objects.order_by('measurement') panel_depth_list = [(int(depth.id), display.small_measurement(depth)) for depth in panel_depths] return panel_depth_list
def __unicode__(self): return display.small_measurement(self)
def panel_depths(is_active): panel_depths = PanelDepth.objects.filter(is_active=is_active).order_by( 'unit_of_measurement', 'measurement') return [{'id': depth.id, 'measurement': display.small_measurement(depth), \ 'unit': depth.unit_of_measurement} for depth in panel_depths]
def cradle_widths(is_active): cradle_widths = CradleWidth.objects.filter(is_active=is_active).order_by( 'unit_of_measurement', 'measurement') return [{'id': width.id, 'measurement': display.small_measurement(width), \ 'unit': width.unit_of_measurement} for width in cradle_widths]