Пример #1
0
 def get(self, public_id):
     params = {}
     bom = Bom.query(Bom.public_id == public_id).get()
     if bom:
         parts = Part.query(ancestor=bom.key).order(-Part.create_time).fetch()
         rawparts = []
         for part in parts:
             raw = []
             quantity_units = ''
             if part.quantity_units:
                 quantity_units = ', units='+part.quantity_units
             raw.append(part.name+quantity_units+'   '+part.part_group+'\n')
             for note in part.note_list:
                 raw.append('   * '+note+'\n')
             for designator in part.designator_list:
                 raw.append('   # '+designator+'\n')
             for i in range(len(part.manufacturer_names)):
                 raw.append('   @ '+part.manufacturer_names[i]+
                            '   '+part.manufacturer_partnums[i]+
                            '\n')
             for i in range(len(part.supplier_names)):
                 raw.append('   $ '+part.supplier_names[i]+
                            '   '+part.supplier_ordernums[i])
                 package_count = part.supplier_packagecounts[i]
                 if package_count != 1:
                     if (package_count % 1) == 0:
                         package_count = '%0.0f' % package_count
                     else:
                         package_count = '%0.3f' % package_count
                     raw.append('   '+package_count)
                 raw.append('   '+part.supplier_currencies[i])
                 if part.supplier_countries[i]:
                     raw.append('   '+part.supplier_currencies[i])
                 raw.append(' %0.2f' % part.supplier_prices[i])
                 if part.supplier_urls[i]:
                     raw.append('   '+part.supplier_urls[i])                    
                 raw.append('\n')
             for i in range(len(part.subsystem_names)):
                 quantities = part.subsystem_quantities[i]
                 if (quantities % 1) == 0:
                     quantities = '%0.0f' % quantities
                 else:
                     quantities = '%0.2f' % quantities
                 raw.append('   '+quantities+
                            '   '+part.subsystem_names[i]+
                            '   '+part.subsystem_specificuses[i]+
                            '\n')
             rawparts.append({'id':part.key.id(), 'raw':''.join(raw)[:-1]})
         params = {
             "is_owner" : ndb.Key('User', long(self.user_id or 0)) in bom.owners,
             "public_id": public_id,
             "currency": "USD",
             "bom" : bom,
             "rawparts" : rawparts
         }
         # prime form
         # self.form.process(obj=bom)
         return self.render_template('bom_edit.html', **params)
     else:
         self.abort(404)
Пример #2
0
 def get(self, public_id):
     params = {}
     bom = Bom.query(Bom.public_id == public_id).get()
     if bom:
         parts = Part.query(ancestor=bom.key).order(Part.name).fetch()
         raw = []
         for part in parts:
             quantity_units = ''
             if part.quantity_units:
                 quantity_units = ', units='+part.quantity_units
             raw.append(part.name+quantity_units+'   '+part.part_group+'\n')
             for note in part.note_list:
                 raw.append('   * '+note+'\n')
             for designator in part.designator_list:
                 raw.append('   # '+designator+'\n')
             for i in range(len(part.manufacturer_names)):
                 raw.append('   @ '+part.manufacturer_names[i]+
                            '   '+part.manufacturer_partnums[i]+
                            '\n')
             for i in range(len(part.supplier_names)):
                 raw.append('   $ '+part.supplier_names[i]+
                            '   '+part.supplier_ordernums[i])
                 package_count = part.supplier_packagecounts[i]
                 if package_count != 1:
                     if (package_count % 1) == 0:
                         package_count = '%0.0f' % package_count
                     else:
                         package_count = '%0.3f' % package_count
                     raw.append('   '+package_count)
                 raw.append('   '+part.supplier_currencies[i])
                 if part.supplier_countries[i]:
                     raw.append('   '+part.supplier_currencies[i])
                 raw.append(' %0.2f' % part.supplier_prices[i])
                 if part.supplier_urls[i]:
                     raw.append('   '+part.supplier_urls[i])                    
                 raw.append('\n')
             for i in range(len(part.subsystem_names)):
                 quantities = part.subsystem_quantities[i]
                 if (quantities % 1) == 0:
                     quantities = '%0.0f' % quantities
                 else:
                     quantities = '%0.2f' % quantities
                 raw.append('   '+quantities+
                            '   '+part.subsystem_names[i]+
                            '   '+part.subsystem_specificuses[i]+
                            '\n')
             raw.append('\n')
         params['raw'] = ''.join(raw)
         return self.render_template('bom_raw.html', **params)
     else:
         self.abort(404)
Пример #3
0
 def get(self, public_id):
     params = {}
     bom = Bom.query(Bom.public_id == public_id).get()
     if bom:
         parts = Part.query(ancestor=bom.key).order(Part.name).fetch()
         raw = []
         for part in parts:
             quantity_units = ''
             if part.quantity_units:
                 quantity_units = ', units=' + part.quantity_units
             raw.append(part.name + quantity_units + '   ' +
                        part.part_group + '\n')
             for note in part.note_list:
                 raw.append('   * ' + note + '\n')
             for designator in part.designator_list:
                 raw.append('   # ' + designator + '\n')
             for i in range(len(part.manufacturer_names)):
                 raw.append('   @ ' + part.manufacturer_names[i] + '   ' +
                            part.manufacturer_partnums[i] + '\n')
             for i in range(len(part.supplier_names)):
                 raw.append('   $ ' + part.supplier_names[i] + '   ' +
                            part.supplier_ordernums[i])
                 package_count = part.supplier_packagecounts[i]
                 if package_count != 1:
                     if (package_count % 1) == 0:
                         package_count = '%0.0f' % package_count
                     else:
                         package_count = '%0.3f' % package_count
                     raw.append('   ' + package_count)
                 raw.append('   ' + part.supplier_currencies[i])
                 if part.supplier_countries[i]:
                     raw.append('   ' + part.supplier_currencies[i])
                 raw.append(' %0.2f' % part.supplier_prices[i])
                 if part.supplier_urls[i]:
                     raw.append('   ' + part.supplier_urls[i])
                 raw.append('\n')
             for i in range(len(part.subsystem_names)):
                 quantities = part.subsystem_quantities[i]
                 if (quantities % 1) == 0:
                     quantities = '%0.0f' % quantities
                 else:
                     quantities = '%0.2f' % quantities
                 raw.append('   ' + quantities + '   ' +
                            part.subsystem_names[i] + '   ' +
                            part.subsystem_specificuses[i] + '\n')
             raw.append('\n')
         params['raw'] = ''.join(raw)
         return self.render_template('bom_raw.html', **params)
     else:
         self.abort(404)
Пример #4
0
 def get(self, public_id):
     params = {}
     bom = Bom.query(Bom.public_id == public_id).get()
     if bom:
         parts = Part.query(
             ancestor=bom.key).order(-Part.create_time).fetch()
         rawparts = []
         for part in parts:
             raw = []
             quantity_units = ''
             if part.quantity_units:
                 quantity_units = ', units=' + part.quantity_units
             raw.append(part.name + quantity_units + '   ' +
                        part.part_group + '\n')
             for note in part.note_list:
                 raw.append('   * ' + note + '\n')
             for designator in part.designator_list:
                 raw.append('   # ' + designator + '\n')
             for i in range(len(part.manufacturer_names)):
                 raw.append('   @ ' + part.manufacturer_names[i] + '   ' +
                            part.manufacturer_partnums[i] + '\n')
             for i in range(len(part.supplier_names)):
                 raw.append('   $ ' + part.supplier_names[i] + '   ' +
                            part.supplier_ordernums[i])
                 package_count = part.supplier_packagecounts[i]
                 if package_count != 1:
                     if (package_count % 1) == 0:
                         package_count = '%0.0f' % package_count
                     else:
                         package_count = '%0.3f' % package_count
                     raw.append('   ' + package_count)
                 raw.append('   ' + part.supplier_currencies[i])
                 if part.supplier_countries[i]:
                     raw.append('   ' + part.supplier_currencies[i])
                 raw.append(' %0.2f' % part.supplier_prices[i])
                 if part.supplier_urls[i]:
                     raw.append('   ' + part.supplier_urls[i])
                 raw.append('\n')
             for i in range(len(part.subsystem_names)):
                 quantities = part.subsystem_quantities[i]
                 if (quantities % 1) == 0:
                     quantities = '%0.0f' % quantities
                 else:
                     quantities = '%0.2f' % quantities
                 raw.append('   ' + quantities + '   ' +
                            part.subsystem_names[i] + '   ' +
                            part.subsystem_specificuses[i] + '\n')
             rawparts.append({
                 'id': part.key.id(),
                 'raw': ''.join(raw)[:-1]
             })
         params = {
             "is_owner": ndb.Key('User', long(self.user_id or 0))
             in bom.owners,
             "public_id": public_id,
             "currency": "USD",
             "bom": bom,
             "rawparts": rawparts
         }
         # prime form
         # self.form.process(obj=bom)
         return self.render_template('bom_edit.html', **params)
     else:
         self.abort(404)