stalker.models.client.Client

Inheritance diagram of stalker.models.client.Client
class stalker.models.client.Client(users=None, projects=None, **kwargs)

Bases: stalker.models.entity.Entity

The Client (e.g. a company) which users may be part of.

The information that a Client object holds is like:

  • The users of the client
  • The projects affiliated with the client
  • and all the other things those are inherited from the Entity class

Note

Clients now can own a list of Goods attached to them. So one can define a list of class:.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.

Two Client object considered the same if they have the same name.

So creating a client object needs the following parameters:

Parameters:
  • users (list of Users) – It can be an empty list, so one client can be created without any user in it. But this parameter should be a list of User objects.
  • projects – it can be an empty list, so one client can be created without any project in it. But this parameter should be a list of Project objects.
__init__(users=None, projects=None, **kwargs)

Methods

__init__([users, projects])
to_tjp() renders a TaskJuggler compliant string used for TaskJuggler integration.

Attributes

client_id
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.
goods
html_class
html_style
id
metadata
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
project_role
projects
query
tags A list of tags attached to this object.
thumbnail
thumbnail_id
tjp_id returns TaskJuggler compatible id
type The type of the object.
type_id The id of the Type of this entity.
updated_by The User who has updated this object.
updated_by_id The id of the User who has updated this entity.
user_role List of users representing the members of this client.
users
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

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.

user_role

List of users representing the members of this client.