1. 25 Nov, 2013 3 commits
    • Giorgos Korfiatis's avatar
      astakos: Associate only accepted users with projects · 4c67da95
      Giorgos Korfiatis authored
      Allow project enrollment and ownership only for users that are accepted,
      not just email_verified.
      Also change base quota only for accepted users.
    • Giorgos Korfiatis's avatar
      astakos: Refactor user creation · 5f307667
      Giorgos Korfiatis authored
      Provide auth.make_user() as the single way to create a new user. This
      function is responsible to set all automatically generated fields, such as
      username, uuid, and token. Clean up AstakosUser.save(), that used to
      update these fields, and remove AstakosUser.__init__(). Remove trigger
      that renewed token on every AstakosUser update. In order to set a user's
      email, use AstakosUser.set_email(); this takes care to update the
      username, too.
      Provide function create_user() in user creation forms, which calls
      auth.make_user() with the form-provided data.
      Use the wrapper auth.make_local_user() in management command `user-add'.
      Use the same infrastructure to extend a django superuser to an AstakosUser
      (in management command `fix-superusers').
    • Giorgos Korfiatis's avatar
      astakos: Reset user sign flags when adding new terms · 361ec44d
      Giorgos Korfiatis authored
      When new terms are added, set has_signed_terms=False for all users, forcing
      them to accept the new terms. If there are no terms, a new user is created
      with has_signed_terms=True.
      With this change we can skip querying the terms when authenticating a user,
      speeding up POST /tokens.
  2. 22 Nov, 2013 2 commits
    • Giorgos Korfiatis's avatar
      astakos: Modify base quota in bulk · c3cc2f3f
      Giorgos Korfiatis authored
      Add option `--all' in command user-modify to support setting base quota
      for all users. Exceptions can be specified with `--exclude'.
      Also select user for update in user-modify.
    • Giorgos Korfiatis's avatar
      astakos: Preserve existing quota on default change · 2fad1177
      Giorgos Korfiatis authored
      View the resource defaults as a skeleton to be consulted when accepting
      a new user. All users keep their quota in AstakosUserQuota.
      Operate resource-modify in bulk, in order to avoiding updating the
      quotaholder separately for each resource.
  3. 09 Oct, 2013 1 commit
  4. 07 Oct, 2013 1 commit
  5. 27 May, 2013 1 commit
  6. 22 May, 2013 1 commit
    • Giorgos Korfiatis's avatar
      astakos: Support units in resource-related commands · 579cff8b
      Giorgos Korfiatis authored
      Add library synnefo.util.units for parsing numerical values
      with an optional unit suffix and printing integer values based
      on a given style.
      Styles `b', `kb', `mb', etc allow printing in the respective multiples
      of byte, style `auto' in a human-readable manner, while `none' omits
      units altogether.
      Add option `--unit-style' in all astakos management commands that print
      resource limits and quota usage. Consult the resource definitions to find
      out which unit, if any, to show. For resources with unit `bytes', all
      commands default to MB.
  7. 21 May, 2013 1 commit
  8. 16 May, 2013 1 commit
  9. 15 May, 2013 1 commit
    • Kostas Papadimitriou's avatar
      astakos: User activation flow improvements · 7319c9be
      Kostas Papadimitriou authored
      Major refactoring on user email verification/activation process
      Activation logic moved from dispersed code in functions/view modules to
      ActivationBackend methods. All user activation handling code in astakos views
      and command line utilities was updated to use activation backend instances.
      User moderation takes place right after user has verified the email address used
      during the signup process. This solves issues caused when users signed up using
      an existing but not yet verified email, causing invalidation of previously
      moderated accounts.
      A bunch of new fields added in AstakosUser model. Those fields added to clear up
      a bit the identification of user status at a given time and additionaly keep
      track of when specific user actions took place as a reference for
      administrators. The following section contains detailed description of each
      introduced field.
      Introduced AstakosUser fields
      Fields get properly set across sigup/activation/moderation processes.
      * verification_code
        Unique identifier used instead of user auth token in user email
        verification url. This is initially set when user signup and gets updated
        each time a new verification mail is sent (requested either by admin or user)
      * verified_at
        The date user email got verified.
      * moderated
        Whether or not the used passed through moderation process.
      * moderated_at
        The date user got moderated.
      * moderated_data
        A snapshot of user instance by the time of moderation (in json format).
      * accepted_policy
        A string to identify if user was automatically moderated/accepted.
      * accepted_email
        The email used during user activation.
      * deactivated_reason
        Reason user got deactivated, provided by the administrator.
      * deactivated_at
        Date user got deactivated.
      * activated_at
        Date user got activated.
      * is_rejected
        Whether or not account was rejected.
      South data migration included.
      Handles user entries as follows
      Users with no activation_sent date
      - Generate and fill verification_code field.
      - Once user will visit the activation url an additional moderation step
        will be required to activate the user.
      Users with verified email which are not active
      - Set moderated to True
      - Set is_active to False
      - Set moderated_at to user.auth_token_created
      - Set accepted_email to user.email
      - Set accepted_policy to 'migration'
      - Set deactivated_reason to "migration"
      - Set deactivated_at to user.updated
      Users with verified email which are active
      - Set moderated to True
      - Set moderated_at to user.auth_token_created
      - Set accepted_policy to 'migration'
      - Set accepted_email to user.email
      - Set verified_at to user.moderated_at
      Users with no verified email and activation_sent set
      - Set moderated to True
      - Set moderated_at to user.updated
      - Set verification_code to user.auth_token (to avoid invalidating old
        activation urls)
      Updated management commands
      - New options --pending-moderation, --pending-verification added in `user-list`
      - New fields verified/moderated included in `user-list` command.
      - New moderation options `--accept`/`--reject` added in `user-modify` command.
        `--reject` can optionally be combined with `--reject-reason`.
      Other changes
      - Cleaned up explicit smtp error handling when sending email notifications.
      - Prevent already signed in users from using an account activation url
      - Allow user to logout even when latest terms where not accepted
      - Renamed templates
          * helpdesk_notification.txt -> account_activated_notification.txt
          * account_creation_notification.txt ->
      - Updated im tests
  10. 14 May, 2013 1 commit
    • Giorgos Korfiatis's avatar
      astakos: Remove command user-set-initial-quota · fc5e138f
      Giorgos Korfiatis authored
      To change base quota for a specified user:
        snf-manage user-modify user --set-base-quota resource limit
      To import base quota in batch from a file:
        snf-manage astakos-quota --import-base-quota filename
      Rename `initial' to `base quota' in command output.
      Move code that creates/removes AstakosUserQuota entries in file quotas.py;
      sync user to quotaholder after such a change.
      Refs #3411
  11. 08 Apr, 2013 1 commit
  12. 05 Apr, 2013 1 commit
  13. 27 Feb, 2013 1 commit
  14. 10 Jan, 2013 1 commit
  15. 19 Dec, 2012 1 commit
  16. 13 Dec, 2012 1 commit
    • Kostas Papadimitriou's avatar
      User state fixes · 661fd0a4
      Kostas Papadimitriou authored
      - Never reset activation_sent date
      - Check for inactive users too for email/username uniqueness
      - Check both email/username uniquness in user creation process
      - Activated users should have both email_verified/activation_sent fields
  17. 06 Dec, 2012 1 commit
  18. 13 Nov, 2012 2 commits
  19. 05 Nov, 2012 2 commits
  20. 09 Oct, 2012 1 commit
  21. 04 Oct, 2012 1 commit
  22. 03 Oct, 2012 1 commit
  23. 26 Sep, 2012 1 commit
  24. 10 Sep, 2012 1 commit
  25. 02 Sep, 2012 1 commit
    • Sofia Papagiannaki's avatar
      Progress VIII · 54cdccdb
      Sofia Papagiannaki authored
      * integration with quota holder
      * new credit event for integration with aquarium
  26. 29 Aug, 2012 1 commit
  27. 23 Aug, 2012 1 commit
  28. 09 Aug, 2012 1 commit
  29. 31 Jul, 2012 1 commit
  30. 19 Jul, 2012 1 commit
  31. 21 May, 2012 1 commit
  32. 30 Apr, 2012 1 commit
  33. 26 Apr, 2012 1 commit
  34. 21 Apr, 2012 1 commit
  35. 09 Apr, 2012 1 commit