ItemContent::user_name(EzcEnv & env) changed to ItemContent::user(morm::ModelWrapper ** model_wrapper) and we return a User class

ItemContent::group_name(EzcEnv & env) changed to ItemContent::group(morm::ModelWrapper ** model_wrapper) and we return a Group class
added ItemContent::display_user_name(EzcEnv & env)
some functions in templates/item.cpp moved to Item
This commit is contained in:
2021-06-19 23:48:12 +02:00
parent d8c1a81bcb
commit e7c7324058
20 changed files with 318 additions and 88 deletions

View File

@@ -88,8 +88,8 @@ void ItemContent::fields()
field(L"print_content", &ItemContent::print_content);
field(L"has_static_file", &ItemContent::has_static_file);
field(L"privileges_octal", &ItemContent::privileges_octal);
field(L"user_name", &ItemContent::user_name);
field(L"group_name", &ItemContent::group_name);
field(L"user", &ItemContent::user);
field(L"group", &ItemContent::group);
field(L"type_is", &ItemContent::type_is);
field(L"is_empty", &ItemContent::is_empty);
@@ -99,6 +99,7 @@ void ItemContent::fields()
field(L"file_type_is_sound", &ItemContent::file_type_is_sound);
field(L"has_thumb", &ItemContent::has_thumb);
field(L"display_user_name", &ItemContent::display_user_name);
@@ -432,19 +433,23 @@ void ItemContent::privileges_octal(EzcEnv & env)
}
void ItemContent::user_name(EzcEnv & env)
void ItemContent::user(morm::ModelWrapper ** model_wrapper)
{
Users * users = get_users();
if( users )
{
User * puser = users->GetUser(user_id);
TemplatesFunctions::print_user_name(env, puser, guest_name);
if( puser )
{
*model_wrapper = new morm::ModelWrapperModel(puser);
}
}
}
void ItemContent::group_name(EzcEnv & env)
void ItemContent::group(morm::ModelWrapper ** model_wrapper)
{
Groups * groups = get_groups();
@@ -453,9 +458,9 @@ void ItemContent::group_name(EzcEnv & env)
Group * pgroup = groups->GetGroup(group_id);
if( pgroup )
env.out << pgroup->name;
else
env.out << group_id;
{
*model_wrapper = new morm::ModelWrapperModel(pgroup);
}
}
}
@@ -525,6 +530,50 @@ void ItemContent::has_thumb(EzcEnv & env)
}
void ItemContent::display_user_name(EzcEnv & env)
{
Locale * locale = get_locale();
if( user_id != -1 )
{
Users * users = get_users();
if( users )
{
User * user = users->GetUser(user_id);
if( user )
{
user->display_name(env);
}
else
{
if( locale )
locale->Get(L"not_existing_user");
else
env.out << "not existing user";
}
}
}
else
{
// IMPROVEME these should be moved to a better place
env.out << "~";
if( !guest_name.empty() && !IsWhite(guest_name) )
{
env.out << guest_name;
}
else
{
if( locale )
env.out << locale->Get(L"display_guest_name");
else
env.out << "guest";
}
}
}
} // namespace Winix