# `sol.models.user` -- User

class `sol.models.user.``User`(**kwargs)

  A single user of the system.

  `caption`(html=None, localized=True)

    Description of the user, made up concatenating his names.

  classmethod `check_insert`(session, fields, user_id)

    Prevent duplicated user.

  `check_password`(raw_password)

    Check the password.

    Parameters

      raw_password -- the raw password, in clear

    Return type

      boolean

    Return `True` if the raw_password matches the user's password, `False` otherwise.

  `check_update`(fields)

    Perform any check before updating the instance.

  `created`

    Timestamp of record creation.

  `delete`()

    Prevent deletion if this user owns something.

  property `description`

    Description of the user, made up concatenating his names.

  `email`

    Email address of the user.

  `firstname`

    User's first name.

  `iduser`

    Primary key.

  `language`

    The ISO code of the preferred language of the user.

  `lastname`

    User's last name.

  `ownersadmin`

    Whether the user can change ownership of other items.

  `password`

    Return the hashed password of the user.

  `playersmanager`

    Whether the user can manage players.

  `serialize`(serializer)

    Reduce a single user to a simple dictionary.

    Parameters

      serializer -- a `Serializer` instance

    Return type

      dict

    Returns

      a plain dictionary containing a flatified view of this user

  `state`

    The status of the user: `R` means registered, `C` means confirmed, `S` means suspended.