Skip to content
Snippets Groups Projects
Select Git revision
  • d2cf86c6b851fc56e101d89c5a10e50dded43f99
  • test default protected
  • master protected
  • niki_edit_branch
  • feat/custom-css
  • feat/redesign-improvements-10
  • feat/redesign-improvements-8
  • feat/redesign-fixes-3
  • feat/pirstan-changes
  • feat/separate-import-thread
  • feat/dary-improvements
  • features/add-pdf-page
  • features/add-typed-table
  • features/fix-broken-calendar-categories
  • features/add-embed-to-articles
  • features/create-mastodon-feed-block
  • features/add-custom-numbering-for-candidates
  • features/add-timeline
  • features/create-wordcloud-from-article-page
  • features/create-collapsible-extra-legal-info
  • features/extend-hero-banner
21 results

models.py

Blame
  • User.pm 1.42 KiB
    package CF::Schema::Result::User;
    
    use strict;
    use warnings;
    use feature 'signatures';
    no warnings qw{ experimental::signatures };
    
    use base 'DBIx::Class::Core';
    
    use Data::Random qw(rand_chars);
    
    our $VERSION = 1;
    
    __PACKAGE__->table('users');
    
    __PACKAGE__->add_columns(
        id => {
            data_type         => 'integer',
            is_auto_increment => 1,
            is_nullable       => 0,
            sequence          => 'uid_seq'
        },
        qw(
            uuid
            is_active
            username
            secret
            name
            roles
            main_group_name
            banned_until
            jitsi_allowed
        ),
    );
    
    __PACKAGE__->set_primary_key('id');
    
    __PACKAGE__->add_unique_constraint(
        'uuid' => [qw(uuid)]
    );
    
    __PACKAGE__->has_many(
        posts => 'CF::Schema::Result::Post',
        { 'foreign.user_id' => 'self.id', },
    );
    
    __PACKAGE__->has_many(
        alive => 'CF::Schema::Result::Alive',
        { 'foreign.user_id' => 'self.id', },
    );
    
    sub formatted($self) {
    
        my $user = {
            $self->get_columns,
            group => $self->main_group_name,
            is_banned => $self->banned_until ? 1:0,
        };
    
        return $user;
    
    }
    
    sub set_secret($self, $new='') {
    
        return if $self->secret and not $new;
    
        my $secret = rand_chars( set => 'alphanumeric', size => 16 );
    
        $self->update({