stalker.models.budget.Good

Inheritance diagram of stalker.models.budget.Good
class stalker.models.budget.Good(cost=0.0, msrp=0.0, unit='', client=None, **kwargs)

Bases: stalker.models.entity.Entity, stalker.models.mixins.UnitMixin

Manages commercial items that is served by the Studio.

A Studio can define service prices or items that’s been sold by the Studio by using a list of commercial items.

Note

Clients now can own a list of Goods attached to them. So one can define a list of Goods with special prices adjusted for a particular Client, then get them back from the db by querying the Goods those have their client attribute set to that particular Client instance. Removing a Good from a Client will not delete it from the database, but deleting a Client will also delete the Goods attached to that particular Client.

A Good has the following attributes

Parameters:
  • msrp – The suggested retail price for this item.
  • cost – The cost of this item to the Studio, so generally it is better to keep price of the related BudgetEntry bigger than this value to get profit by selling this item.
  • unit – The unit of this item.
__init__(cost=0.0, msrp=0.0, unit='', client=None, **kwargs)

Methods

__init__([cost, msrp, unit, client])

Attributes

client
client_id
cost
created_by The User who has created this object.
created_by_id The id of the User who has created this entity.
date_created A datetime.datetime instance showing the creation date and time of this object.
date_updated A datetime.datetime instance showing the update date and time of this object.
description Description of this object.
entity_groups
entity_id
entity_type
generic_data This attribute can hold any kind of data which exists in SOM.
generic_text This attribute can hold any text.
good_id
html_class
html_style
id
metadata
msrp
name Name of this object
nice_name Nice name of this object.
notes All the Notess attached to this entity.
plural_class_name the plural name of this class
price_lists PriceLists that this good is related to.
query
tags A list of tags attached to this object.
thumbnail
thumbnail_id
tjp_id returns TaskJuggler compatible id
to_tjp renders a TaskJuggler compliant string used for TaskJuggler integration.
type The type of the object.
type_id The id of the Type of this entity.
unit
updated_by The User who has updated this object.
updated_by_id The id of the User who has updated this entity.
created_by

The User who has created this object.

created_by_id

The id of the User who has created this entity.

date_created

A datetime.datetime instance showing the creation date and time of this object.

date_updated

A datetime.datetime instance showing the update date and time of this object.

description

Description of this object.

generic_data

This attribute can hold any kind of data which exists in SOM.

generic_text

This attribute can hold any text.

name

Name of this object

nice_name

Nice name of this object.

It has the same value with the name (contextually) but with a different format like, all the white spaces replaced by underscores (“_”), all the CamelCase form will be expanded by underscore (_) characters and it is always lower case.

notes

All the Notess attached to this entity.

It is a list of Note instances or an empty list, setting it to None will raise a TypeError.

plural_class_name

the plural name of this class

price_lists

PriceLists that this good is related to.

tags

A list of tags attached to this object.

It is a list of Tag instances which shows the tags of this object

tjp_id

returns TaskJuggler compatible id

to_tjp

renders a TaskJuggler compliant string used for TaskJuggler integration. Needs to be overridden in inherited classes.

type

The type of the object.

It is a Type instance with a proper Type.target_entity_type.

type_id

The id of the Type of this entity. Mainly used by SQLAlchemy to create a Many-to-One relates between SimpleEntities and Types.

updated_by

The User who has updated this object.

updated_by_id

The id of the User who has updated this entity.