Пример #1
0
        return "%s: '%s' qty=%s @ %s" % (self.inventory, self.supply, self.quantity, self.date)


class Supplier(models.Model):
    name = models.CharField(max_length=32, verbose_name=_(u'Name'))
    address_line1 = models.CharField(max_length=64, null=True, blank=True, verbose_name=_(u'Address'))
    address_line2 = models.CharField(max_length=64, null=True, blank=True, verbose_name=_(u'Address'))
    address_line3 = models.CharField(max_length=64, null=True, blank=True, verbose_name=_(u'Address'))
    address_line4 = models.CharField(max_length=64, null=True, blank=True, verbose_name=_(u'Address'))
    phone_number1 = models.CharField(max_length=32, null=True, blank=True, verbose_name=_(u'Phone number'))
    phone_number2 = models.CharField(max_length=32, null=True, blank=True, verbose_name=_(u'Phone number'))
    notes = models.TextField(null=True, blank=True, verbose_name=(u'Notes'))

    class Meta:
        ordering = ['name']
        verbose_name = _(u'Supplier')
        verbose_name_plural = _(u'Suppliers')

    def __unicode__(self):
        return self.name

    @models.permalink
    def get_absolute_url(self):
        return ('supplier_view', [str(self.id)])


register(ItemTemplate, _(u'Templates'), ['description', 'brand', 'model', 'part_number', 'notes'])
register(Location, _(u'Locations'), ['name', 'address_line1', 'address_line2', 'address_line3', 'address_line4', 'phone_number1', 'phone_number2'])
register(Inventory, _(u'Inventory'), ['name', 'location__name'])
register(Supplier, _(u'Supplier'), ['name', 'address_line1', 'address_line2', 'address_line3', 'address_line4', 'phone_number1', 'phone_number2', 'notes'])
Пример #2
0
    """
    user = models.ForeignKey(User, verbose_name=_(u'user'), editable=False)
    document = models.ForeignKey(Document, verbose_name=_(u'document'), editable=False)
    datetime_accessed = models.DateTimeField(verbose_name=_(u'accessed'), db_index=True)

    objects = RecentDocumentManager()

    def __unicode__(self):
        return unicode(self.document)

    class Meta:
        ordering = ('-datetime_accessed',)
        verbose_name = _(u'recent document')
        verbose_name_plural = _(u'recent documents')


# Register the fields that will be searchable
register('document', Document, _(u'document'), [
    {'name': u'document_type__name', 'title': _(u'Document type')},
    {'name': u'file_mimetype', 'title': _(u'MIME type')},
    {'name': u'file_filename', 'title': _(u'Filename')},
    {'name': u'file_extension', 'title': _(u'Filename extension')},
    {'name': u'documentmetadata__value', 'title': _(u'Metadata value')},
    {'name': u'documentpage__content', 'title': _(u'Content')},
    {'name': u'description', 'title': _(u'Description')},
    {'name': u'tags__name', 'title': _(u'Tags')},
    {'name': u'comments__comment', 'title': _(u'Comments')},
    ]
)
#register(Document, _(u'document'), ['document_type__name', 'file_mimetype', 'file_extension', 'documentmetadata__value', 'documentpage__content', 'description', {'field_name':'file_filename', 'comparison':'iexact'}])
Пример #3
0
    negated = models.BooleanField(default=False, verbose_name=_(u'negated'), help_text=_(u'Inverts the logic of the operator.'))
    enabled = models.BooleanField(default=True, verbose_name=_(u'enabled'))
    
    def __unicode__(self):
        return '[%s] %s %s %s %s %s' % ('x' if self.enabled else ' ', self.get_inclusion_display(), self.metadata_type, _(u'not') if self.negated else '', self.get_operator_display(), self.expression)

    class Meta:
        verbose_name = _(u'metadata group item')
        verbose_name_plural = _(u'metadata group items')


available_transformations = ([(name, data['label']) for name, data in AVAILABLE_TRANSFORMATIONS.items()]) if AVAILABLE_MODELS else []

    
class DocumentPageTransformation(models.Model):
    document_page = models.ForeignKey(DocumentPage, verbose_name=_(u'document page'))
    order = models.PositiveIntegerField(default=0, blank=True, null=True, verbose_name=_(u'order'))
    transformation = models.CharField(choices=available_transformations, max_length=128, verbose_name=_(u'transformation'))
    arguments = models.TextField(blank=True, null=True, verbose_name=_(u'arguments'), help_text=_(u'Use dictionaries to indentify arguments, example: {\'degrees\':90}'))

    def __unicode__(self):
        return '%s - %s' % (unicode(self.document_page), self.get_transformation_display())

    class Meta:
        ordering = ('order',)
        verbose_name = _(u'document page transformation')
        verbose_name_plural = _(u'document page transformations')
    
  
register(Document, _(u'document'), ['document_type__name', 'file_mimetype', 'file_filename', 'file_extension', 'documentmetadata__value', 'documentpage__content', 'description'])
Пример #4
0
    inventory = models.ManyToManyField(Item, blank=True, null=True, verbose_name=_(u"assigned assets"))

    class Meta:
        ordering = ['last_name', 'second_last_name', 'first_name', 'second_name']
        verbose_name = _(u"person")
        verbose_name_plural = _(u"people")

    @models.permalink
    def get_absolute_url(self):
        return ('person_view', [str(self.id)])

    def __unicode__(self):
        if self.second_last_name:
            second_last_name = " %s" % self.second_last_name
        else:
            second_last_name = ''
      

        if self.second_name:
            second_name = " %s" % self.second_name
        else:
            second_name = ''

        return "%s%s, %s%s" % (self.last_name, second_last_name and second_last_name, self.first_name, second_name)
    
     
register(ItemState, _(u'states'), ['state__name'])
register(Item, _(u'assets'), ['property_number', 'notes', 'serial_number', 'person__first_name', 'person__last_name', 'person__second_last_name', 'person__second_name'])
register(ItemGroup, _(u'asset groups'), ['name'])
register(Person, _(u'people'), ['last_name', 'second_last_name', 'first_name', 'second_name', 'location__name'])
Пример #5
0
    (u'1h', _(u'1 hour')),
    (u'30m', _(u'30 minutes')),
    (u'15m', _(u'15 minutes')),
)

REPETITION_CHOICES = (
    (u'24h', _(u'1 day')),
    (u'12h', _(u'12 hours')),
    (u'6h', _(u'6 hours')),
    (u'2h', _(u'2 hours')),
    (u'1h', _(u'1 hour')),
    (u'30m', _(u'30 minutes')),
    (u'15m', _(u'15 minutes')),
)


class Notification(models.Model):
    reminder = models.ForeignKey(Reminder, verbose_name=_(u'reminder'))
    participant = models.ForeignKey(Participant, verbose_name=_(u'participant'))
    preemptive = models.CharField(max_length=4, choices=PREEMPTIVE_CHOICES, verbose_name=_(u'preemptive'))

    class Meta:
        verbose_name = _(u'notification')
        verbose_name_plural = _(u'notifications')

    def __unicode__(self):
        return self.label


register(Reminder, _(u'reminder'), [u'label', 'notes', 'participant__user__username', 'participant__user__first_name', 'participant__user__last_name'])
Пример #6
0
    phone_number2 = models.CharField(max_length=32,
                                     null=True,
                                     blank=True,
                                     verbose_name=_(u'phone number'))
    notes = models.TextField(null=True, blank=True, verbose_name=(u'notes'))

    class Meta:
        ordering = ['name']
        verbose_name = _(u"supplier")
        verbose_name_plural = _(u"suppliers")

    def __unicode__(self):
        return self.name

    @models.permalink
    def get_absolute_url(self):
        return ('supplier_view', [str(self.id)])


register(ItemTemplate, _(u'templates'),
         ['description', 'brand', 'model', 'part_number', 'notes'])
register(Location, _(u'locations'), [
    'name', 'address_line1', 'address_line2', 'address_line3', 'address_line4',
    'phone_number1', 'phone_number2'
])
register(Inventory, _(u'inventory'), ['name', 'location__name'])
register(Supplier, _(u'supplier'), [
    'name', 'address_line1', 'address_line2', 'address_line3', 'address_line4',
    'phone_number1', 'phone_number2', 'notes'
])
Пример #7
0
    received_qty = models.PositiveIntegerField(default=0,
                                               null=True,
                                               blank=True,
                                               verbose_name=_(u'received'))

    class Meta:
        verbose_name = _(u'purchase order item')
        verbose_name_plural = _(u'purchase order items')

    def __unicode__(self):
        return unicode(self.item_template)

    @models.permalink
    def get_absolute_url(self):
        return ('purchase_order_view', [str(self.purchase_order.id)])


register(PurchaseRequestStatus, _(u'purchase request status'), ['name'])
register(
    PurchaseRequest, _(u'purchase request'),
    ['user_id', 'id', 'budget', 'required_date', 'status__name', 'originator'])
register(PurchaseRequestItem, _(u'purchase request item'),
         ['item_template__description', 'qty', 'notes'])
register(PurchaseOrderStatus, _(u'purchase order status'), ['name'])
register(PurchaseOrderItemStatus, _(u'purchase order item status'), ['name'])
register(PurchaseOrder, _(u'purchase order'), [
    'user_id', 'id', 'required_date', 'status__name', 'supplier__name', 'notes'
])
register(PurchaseOrderItem, _(u'purchase order item'),
         ['item_template__description', 'qty'])
Пример #8
0

class PurchaseOrderItem(models.Model):
    purchase_order = models.ForeignKey(PurchaseOrder, related_name='items', verbose_name=_(u'Purchase order'))
    item_template = models.ForeignKey(ItemTemplate, verbose_name=_(u'Item template'))
    agreed_price = models.PositiveIntegerField(null=True, blank=True, verbose_name=_(u'Agreed price'))
    active = models.BooleanField(default=True, verbose_name=_(u'Active'))
    status = models.ForeignKey(PurchaseOrderItemStatus, null=True, blank=True, verbose_name=_(u'Status'))
    qty = models.PositiveIntegerField(verbose_name=_(u'Quantity'))
    received_qty = models.PositiveIntegerField(default=0, null=True, blank=True, verbose_name=_(u'received'))

    class Meta:
        verbose_name = _(u'Purchase order item')
        verbose_name_plural = _(u'Purchase order items')

    def __unicode__(self):
        return unicode(self.item_template)

    @models.permalink
    def get_absolute_url(self):
        return ('purchase_order_view', [str(self.purchase_order.id)])


register(PurchaseRequestStatus, _(u'Purchase request status'), ['name'])
register(PurchaseRequest, _(u'Purchase request'), ['user_id', 'id', 'budget', 'required_date', 'status__name', 'originator'])
register(PurchaseRequestItem, _(u'Purchase request item'), ['item_template__description', 'qty', 'notes'])
register(PurchaseOrderStatus, _(u'Purchase order status'), ['name'])
register(PurchaseOrderItemStatus, _(u'Purchase order item status'), ['name'])
register(PurchaseOrder, _(u'Purchase order'), ['user_id', 'id', 'required_date', 'status__name', 'supplier__name', 'notes'])
register(PurchaseOrderItem, _(u'Purchase order item'), ['item_template__description', 'qty'])
Пример #9
0

class Supplier(models.Model):
    #TODO: Contact, extension
    name = models.CharField(max_length=32, verbose_name=_("name"))
    address_line1 = models.CharField(max_length=64, null=True, blank=True, verbose_name=_(u'address'))
    address_line2 = models.CharField(max_length=64, null=True, blank=True, verbose_name=_(u'address'))
    address_line3 = models.CharField(max_length=64, null=True, blank=True, verbose_name=_(u'address'))
    address_line4 = models.CharField(max_length=64, null=True, blank=True, verbose_name=_(u'address'))
    phone_number1 = models.CharField(max_length=32, null=True, blank=True, verbose_name=_(u'phone number'))
    phone_number2 = models.CharField(max_length=32, null=True, blank=True, verbose_name=_(u'phone number'))
    notes = models.TextField(null=True, blank=True, verbose_name=(u'notes'))
    
    class Meta:
        ordering = ['name']
        verbose_name = _(u"supplier")
        verbose_name_plural = _(u"suppliers")
        
    def __unicode__(self):
        return self.name

    @models.permalink
    def get_absolute_url(self):
        return ('supplier_view', [str(self.id)])

register(ItemTemplate, _(u'templates'), ['description', 'brand', 'model', 'part_number', 'notes'])
register(Location, _(u'locations'), ['name', 'address_line1', 'address_line2', 'address_line3', 'address_line4', 'phone_number1', 'phone_number2'])
register(SubLocation, _(u'sublocation'), [ 'location','parentID', 'completename', 'comments', 'level'])
register(Inventory, _(u'inventory'), ['name', 'location__name'])
register(Supplier, _(u'supplier'), ['name', 'address_line1', 'address_line2', 'address_line3', 'address_line4', 'phone_number1', 'phone_number2', 'notes'])
Пример #10
0
    datetime_accessed = models.DateTimeField(verbose_name=_(u"accessed"), db_index=True)

    objects = RecentDocumentManager()

    def __unicode__(self):
        return unicode(self.document)

    class Meta:
        ordering = ("-datetime_accessed",)
        verbose_name = _(u"recent document")
        verbose_name_plural = _(u"recent documents")


# Register the fields that will be searchable
register(
    "document",
    Document,
    _(u"document"),
    [
        {"name": u"document_type__name", "title": _(u"Document type")},
        {"name": u"documentversion__mimetype", "title": _(u"MIME type")},
        {"name": u"documentversion__filename", "title": _(u"Filename")},
        {"name": u"documentmetadata__value", "title": _(u"Metadata value")},
        {"name": u"documentversion__documentpage__content", "title": _(u"Content")},
        {"name": u"description", "title": _(u"Description")},
        {"name": u"tags__name", "title": _(u"Tags")},
        {"name": u"comments__comment", "title": _(u"Comments")},
    ],
)
# register(Document, _(u'document'), ['document_type__name', 'file_mimetype', 'documentmetadata__value', 'documentpage__content', 'description', {'field_name':'file_filename', 'comparison':'iexact'}])
Пример #11
0
    @models.permalink
    def get_absolute_url(self):
        return ('person_view', [str(self.id)])

    def __unicode__(self):
        if self.second_last_name:
            second_last_name = ' %s' % self.second_last_name
        else:
            second_last_name = ''

        if self.second_name:
            second_name = ' %s' % self.second_name
        else:
            second_name = ''

        return '%s%s, %s%s' % (self.last_name, second_last_name and
                               second_last_name, self.first_name, second_name)


register(ItemState, _(u'Asset states'), ['state__name'])
register(Item, _(u'Assets'), [
    'property_number', 'notes', 'serial_number', 'person__first_name',
    'person__last_name', 'person__second_last_name', 'person__second_name'
])
register(ItemGroup, _(u'Asset groups'), ['name'])
register(Person, _(u'People'), [
    'last_name', 'second_last_name', 'first_name', 'second_name',
    'location__name'
])
Пример #12
0
    order = models.PositiveIntegerField(default=0,
                                        blank=True,
                                        null=True,
                                        verbose_name=_(u'order'))
    transformation = models.CharField(choices=available_transformations,
                                      max_length=128,
                                      verbose_name=_(u'transformation'))
    arguments = models.TextField(
        blank=True,
        null=True,
        verbose_name=_(u'arguments'),
        help_text=
        _(u'Use dictionaries to indentify arguments, example: {\'degrees\':90}'
          ))

    def __unicode__(self):
        return '%s - %s' % (unicode(
            self.document_page), self.get_transformation_display())

    class Meta:
        ordering = ('order', )
        verbose_name = _(u'document page transformation')
        verbose_name_plural = _(u'document page transformations')


register(Document, _(u'document'), [
    'document_type__name', 'file_mimetype', 'file_filename', 'file_extension',
    'documentmetadata__value', 'documentpage__content', 'description'
])
#register(Document, _(u'document'), ['document_type__name', 'file_mimetype', 'file_extension', 'documentmetadata__value', 'documentpage__content', 'description', {'field_name':'file_filename', 'comparison':'iexact'}])