2018-05-07 Fred Gleason <fredg@paravelsystems.com>

* Added a 'USERS.WEBGET_LOGIN_PRIV' field to the database.
	* Incremented the database version to 277.
	* Added 'RDUser::webgetLogin()' and 'RDUser::setWebgetLogin()'
	methods.
	* Added a 'Allow WebGet Login' control in the 'Production Rights'
	section of the 'User' dialog in rdadmin(1).
This commit is contained in:
Fred Gleason 2018-05-08 16:04:53 +00:00
parent 7e437154ad
commit 082a42dd39
17 changed files with 102 additions and 10 deletions

View File

@ -16791,3 +16791,10 @@
'SERVICES.LOG_SHELFLIFE_ORIGIN', 'SERVICES.TFC_IMPORT_TEMPLATE' and
'SERVICE.MUS_IMPORT_TEMPLATE field values to fail to be cloned from
the exemplar when creating a new Service.
2018-05-07 Fred Gleason <fredg@paravelsystems.com>
* Added a 'USERS.WEBGET_LOGIN_PRIV' field to the database.
* Incremented the database version to 277.
* Added 'RDUser::webgetLogin()' and 'RDUser::setWebgetLogin()'
methods.
* Added a 'Allow WebGet Login' control in the 'Production Rights'
section of the 'User' dialog in rdadmin(1).

View File

@ -21,6 +21,7 @@ CREATE_CARTS_PRIV enum('N','Y')
DELETE_CARTS_PRIV enum('N','Y')
MODIFY_CARTS_PRIV enum('N','Y')
EDIT_AUDIO_PRIV enum('N','Y')
WEBGET_LOGIN_PRIV enum('N','Y')
ASSIGN_CART_PRIV enum('N','Y') Retired
CREATE_LOG_PRIV enum('N','Y')
DELETE_LOG_PRIV enum('N','Y')

View File

@ -24,7 +24,7 @@
/*
* Current Database Version
*/
#define RD_VERSION_DATABASE 276
#define RD_VERSION_DATABASE 277
#endif // DBVERSION_H

View File

@ -265,6 +265,19 @@ void RDUser::setEditAudio(bool priv) const
}
bool RDUser::webgetLogin() const
{
return RDBool(RDGetSqlValue("USERS","LOGIN_NAME",user_name,
"WEBGET_LOGIN_PRIV").toString());
}
void RDUser::setWebgetLogin(bool priv) const
{
SetRow("WEBGET_LOGIN_PRIV",priv);
}
bool RDUser::createLog() const
{
return RDBool(RDGetSqlValue("USERS","LOGIN_NAME",user_name,

View File

@ -59,6 +59,8 @@ class RDUser
void setModifyCarts(bool priv) const;
bool editAudio() const;
void setEditAudio(bool priv) const;
bool webgetLogin() const;
void setWebgetLogin(bool priv) const;
bool createLog() const;
void setCreateLog(bool priv) const;
bool deleteLog() const;

View File

@ -341,6 +341,7 @@ bool CreateDb(QString name,QString pwd,RDConfig *config)
"DELETE_CARTS_PRIV enum('N','Y') not null default 'N',"+
"MODIFY_CARTS_PRIV enum('N','Y') not null default 'N',"+
"EDIT_AUDIO_PRIV enum('N','Y') not null default 'N',"+
"WEBGET_LOGIN_PRIV enum('N','Y') not null default 'N',"+
"ASSIGN_CART_PRIV enum('N','Y') not null default 'N',"+
"CREATE_LOG_PRIV enum('N','Y') not null default 'N',"+
"DELETE_LOG_PRIV enum('N','Y') not null default 'N',"+
@ -8034,6 +8035,13 @@ int UpdateDb(int ver,RDConfig *config)
delete q;
}
if(ver<277) {
sql=QString("alter table USERS ")+
"add column WEBGET_LOGIN_PRIV enum('N','Y') not null default 'N' "+
"after EDIT_AUDIO_PRIV";
q=new RDSqlQuery(sql,false);
delete q;
}
//
// Maintainer's Note:

View File

@ -200,7 +200,7 @@ EditUser::EditUser(const QString &user,QWidget *parent)
// Production Group Priviledges
//
user_prod_group=new QButtonGroup(tr("Production Rights"),this);
user_prod_group->setGeometry(10,225,355,85);
user_prod_group->setGeometry(10,225,355,106);
user_prod_group->setFont(font);
user_create_carts_button=new QCheckBox(user_prod_group);
@ -235,6 +235,15 @@ EditUser::EditUser(const QString &user,QWidget *parent)
user_edit_audio_label->setFont(small_font);
user_edit_audio_label->setAlignment(AlignLeft|ShowPrefix);
user_webget_login_button=new QCheckBox(user_prod_group);
user_webget_login_button->setGeometry(10,84,15,15);
user_webget_login_label=
new QLabel(user_webget_login_button,tr("Allow &WebGet Login"),
user_prod_group);
user_webget_login_label->setGeometry(30,83,150,19);
user_webget_login_label->setFont(small_font);
user_webget_login_label->setAlignment(AlignLeft|ShowPrefix);
user_edit_catches_button=new QCheckBox(user_prod_group);
user_edit_catches_button->setGeometry(172,42,15,15);
user_edit_catches_label=
@ -257,7 +266,7 @@ EditUser::EditUser(const QString &user,QWidget *parent)
// Traffic Group Priviledges
//
user_traffic_group=new QButtonGroup(tr("Traffic Rights"),this);
user_traffic_group->setGeometry(10,320,355,66);
user_traffic_group->setGeometry(10,341,355,66);
user_traffic_group->setFont(font);
user_create_log_button=new QCheckBox(user_traffic_group);
@ -298,7 +307,7 @@ EditUser::EditUser(const QString &user,QWidget *parent)
// OnAir Group Priviledges
//
user_onair_group=new QButtonGroup(tr("OnAir Rights"),this);
user_onair_group->setGeometry(10,396,355,85);
user_onair_group->setGeometry(10,417,355,85);
user_onair_group->setFont(font);
user_playout_log_button=new QCheckBox(user_onair_group);
@ -348,7 +357,7 @@ EditUser::EditUser(const QString &user,QWidget *parent)
// Podcast Group Priviledges
//
user_podcast_group=new QButtonGroup(tr("Podcasting Rights"),this);
user_podcast_group->setGeometry(10,491,355,66);
user_podcast_group->setGeometry(10,512,355,66);
user_podcast_group->setFont(font);
user_add_podcast_button=new QCheckBox(user_podcast_group);
@ -389,7 +398,7 @@ EditUser::EditUser(const QString &user,QWidget *parent)
// Group Permissions Button
//
user_assign_perms_button=new QPushButton(this);
user_assign_perms_button->setGeometry(10,561,sizeHint().width()/3-20,50);
user_assign_perms_button->setGeometry(10,582,sizeHint().width()/3-20,50);
user_assign_perms_button->setFont(font);
user_assign_perms_button->setText(tr("Group\nPermissions"));
connect(user_assign_perms_button,SIGNAL(clicked()),this,SLOT(groupsData()));
@ -398,7 +407,7 @@ EditUser::EditUser(const QString &user,QWidget *parent)
// Services Permissions Button
//
user_assign_svcs_button=new QPushButton(this);
user_assign_svcs_button->setGeometry(sizeHint().width()/3+10,561,sizeHint().width()/3-20,50);
user_assign_svcs_button->setGeometry(sizeHint().width()/3+10,582,sizeHint().width()/3-20,50);
user_assign_svcs_button->setFont(font);
user_assign_svcs_button->setText(tr("Service\nPermissions"));
connect(user_assign_svcs_button,SIGNAL(clicked()),this,SLOT(servicesData()));
@ -408,7 +417,7 @@ EditUser::EditUser(const QString &user,QWidget *parent)
//
user_assign_feeds_button=new QPushButton(this);
user_assign_feeds_button->
setGeometry(2*sizeHint().width()/3+10,561,sizeHint().width()/3-20,50);
setGeometry(2*sizeHint().width()/3+10,582,sizeHint().width()/3-20,50);
user_assign_feeds_button->setFont(font);
user_assign_feeds_button->setText(tr("Podcast Feed\nPermissions"));
connect(user_assign_feeds_button,SIGNAL(clicked()),this,SLOT(feedsData()));
@ -457,6 +466,7 @@ EditUser::EditUser(const QString &user,QWidget *parent)
user_edit_audio_button->setChecked(user_user->editAudio());
user_edit_catches_button->setChecked(user_user->editCatches());
user_voicetrack_log_button->setChecked(user_user->voicetrackLog());
user_webget_login_button->setChecked(user_user->webgetLogin());
user_create_log_button->setChecked(user_user->createLog());
user_delete_log_button->setChecked(user_user->deleteLog());
@ -499,7 +509,7 @@ EditUser::~EditUser()
QSize EditUser::sizeHint() const
{
return QSize(375,681);
return QSize(375,702);
}
@ -572,6 +582,7 @@ void EditUser::adminToggledData(bool state)
user_modify_template_button->setDisabled(state);
user_edit_catches_button->setDisabled(state);
user_voicetrack_log_button->setDisabled(state);
user_webget_login_button->setDisabled(state);
user_add_podcast_button->setDisabled(state);
user_edit_podcast_button->setDisabled(state);
user_delete_podcast_button->setDisabled(state);
@ -593,6 +604,7 @@ void EditUser::adminToggledData(bool state)
user_edit_podcast_label->setDisabled(state);
user_delete_podcast_label->setDisabled(state);
user_voicetrack_log_label->setDisabled(state);
user_webget_login_label->setDisabled(state);
user_assign_perms_button->setDisabled(state);
user_assign_feeds_button->setDisabled(state);
}
@ -614,6 +626,7 @@ void EditUser::okData()
user_user->setEditAudio(user_edit_audio_button->isChecked());
user_user->setEditCatches(user_edit_catches_button->isChecked());
user_user->setVoicetrackLog(user_voicetrack_log_button->isChecked());
user_user->setWebgetLogin(user_webget_login_button->isChecked());
user_user->setCreateLog(user_create_log_button->isChecked());
user_user->setDeleteLog(user_delete_log_button->isChecked());
user_user->setDeleteRec(user_delete_rec_button->isChecked());

View File

@ -77,6 +77,7 @@ class EditUser : public QDialog
QCheckBox *user_modify_carts_button;
QCheckBox *user_edit_audio_button;
QCheckBox *user_voicetrack_log_button;
QCheckBox *user_webget_login_button;
QCheckBox *user_create_log_button;
QCheckBox *user_delete_log_button;
QCheckBox *user_delete_rec_button;
@ -111,6 +112,7 @@ class EditUser : public QDialog
QLabel *user_edit_podcast_label;
QLabel *user_delete_podcast_label;
QLabel *user_voicetrack_log_label;
QLabel *user_webget_login_label;
RDUser *user_user;
};

View File

@ -4291,6 +4291,10 @@ Permissions</source>
<source>Allow Web Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Allow &amp;WebGet Login</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditUserPerms</name>

View File

@ -4240,6 +4240,10 @@ Permissions</source>
<source>Allow Web Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Allow &amp;WebGet Login</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditUserPerms</name>

View File

@ -4236,6 +4236,10 @@ Permissions</source>
<source>Allow Web Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Allow &amp;WebGet Login</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditUserPerms</name>

View File

@ -3784,6 +3784,10 @@ Permissions</source>
<source>Allow Web Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Allow &amp;WebGet Login</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditUserPerms</name>

View File

@ -4210,6 +4210,10 @@ Permissions</source>
<source>Allow Web Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Allow &amp;WebGet Login</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditUserPerms</name>

View File

@ -4210,6 +4210,10 @@ Permissions</source>
<source>Allow Web Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Allow &amp;WebGet Login</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditUserPerms</name>

View File

@ -4233,6 +4233,10 @@ Permissions</source>
<source>Allow Web Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Allow &amp;WebGet Login</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditUserPerms</name>

View File

@ -263,6 +263,10 @@ void MainObject::Revert(int schema) const
case 276:
Revert276();
break;
case 277:
Revert277();
break;
}
}
@ -842,6 +846,19 @@ void MainObject::Revert276() const
}
void MainObject::Revert277() const
{
QString sql;
RDSqlQuery *q;
sql=QString("alter table USERS drop column WEBGET_LOGIN_PRIV");
q=new RDSqlQuery(sql,false);
delete q;
SetVersion(276);
}
int MainObject::GetVersion() const
{
QString sql;
@ -888,7 +905,7 @@ int MainObject::MapSchema(const QString &ver)
version_map["2.17"]=268;
version_map["2.18"]=272;
version_map["2.19"]=275;
version_map["2.20"]=276;
version_map["2.20"]=277;
//
// Normalize String

View File

@ -72,6 +72,7 @@ class MainObject : public QObject
void Revert274() const;
void Revert275() const;
void Revert276() const;
void Revert277() const;
int GetVersion() const;
void SetVersion(int schema) const;
int MapSchema(const QString &ver);