private function AddAuthorField()
    {
        $name = 'Author';
        if ($this->article->Exists()) {
            $value = $this->article->GetAuthor() ? $this->article->GetAuthor()->GetID() : '';
        }
        else {
            $value = self::Guard()->GetUser()->GetID();
        }
        $field = new Select($name, $value);
        $field->AddOption('', Trans('News.Article.Author.Anonymous'));
        $sql = Access::SqlBuilder();
        $tblUser = User::Schema()->Table();
        $users = User::Schema()->Fetch(false, null, $sql->OrderList($sql->OrderAsc($tblUser->Field('Name'))));
        foreach ($users as $user) {
            $userName = $user->GetName();
            if ($user->GetFirstName() && $user->GetLastName()) {
                $userName .= ' ('. $user->GetFirstName() . ' ' . $user->GetLastName() . ')';
            }
            $field->AddOption($user->GetID(), $userName);
        }
        $this->AddField($field);
        if (!self::Guard()->GetUser()->GetIsAdmin()) {
            $field->SetHtmlAttribute('readonly', 'readonly');
        }
    }