swimlane.core.resources.record module

class swimlane.core.resources.record.Record(app, raw)[source]

Bases: swimlane.core.resources.base.APIResource

A single Swimlane Record instance

id

str – Full Record ID

tracking_id

str – Record tracking ID

created

pendulum.Pendulum – Pendulum datetime for Record created date

modified

pendulum.Pendulum – Pendulum datetime for Record last modified date

is_new

bool – True if Record does not yet exist on server. Other values may be temporarily None if True

add_restriction(*usergroups)[source]

Add UserGroup(s) to list of accounts with access to record

New in version 2.16.1.

UserGroups already in the restricted list can be added multiple times and duplicates will be ignored

Notes

Does not take effect until calling record.save()

Parameters:*usergroups (UserGroup) – 1 or more Swimlane UserGroup(s) to add to restriction list
Raises:TypeError – If 0 UserGroups provided or provided a non-UserGroup instance
delete()[source]

Delete record from Swimlane server

New in version 2.16.1.

Resets to new state, but leaves field data as-is. Saving a deleted record will create a new Swimlane record

Raises
ValueError: If record.is_new
get_field(field_name)[source]

Get field instance used to get, set, and serialize internal field value

Returns:Requested field instance
Return type:Field
Raises:UnknownField – Raised if field_name not found in parent App
remove_restriction(*usergroups)[source]

Remove UserGroup(s) from list of accounts with access to record

Notes

Does not take effect until calling record.save()

Warning

Providing no UserGroups will clear the restriction list, opening access to ALL accounts

Parameters:

*usergroups (UserGroup) – 0 or more Swimlane UserGroup(s) to remove from restriction list

Raises:
  • TypeError – If provided a non-UserGroup instance
  • ValueError – If provided UserGroup not in current restriction list
restrictions

Returns cached set of retrieved UserGroups in the record’s list of allowed accounts

save()[source]

Persist record changes on Swimlane server

Updates internal raw data with response content from server to guarantee calculated field values match values on server

Raises:ValidationError – If any fields fail validation
validate()[source]

Explicitly validate field data

Notes

Called automatically during save call before sending data to server

Raises:ValidationError – If any fields fail validation
swimlane.core.resources.record.record_factory(app, fields=None)[source]

Return a temporary Record instance to be used for field validation and value parsing

Parameters:
  • app (App) – Target App to create a transient Record instance for
  • fields (dict) – Optional dict of fields and values to set on new Record instance before returning
Returns:

Unsaved Record instance to be used for validation, creation, etc.

Return type:

Record