2020-02-21 Fred Gleason <fredg@paravelsystems.com>

* Added a 'USERS.EMAIL_ADDRESS' field to the database.
	* Added 'RDUser::emailAddress()', 'RDUser::setEmaiAddress()' and
	'RDUser::emailContact()' methods.
	* Added 'RDUser::emailIsValid()' and 'RDUser::emailContact()'
	static methods.
	* Added logic to rdcastmanager(1) to insert the author's e-mail
	contact automatically when posting a new episode.
This commit is contained in:
Fred Gleason
2020-02-21 13:13:06 -05:00
parent 3e78e7d44f
commit 95f8141fc9
18 changed files with 192 additions and 60 deletions

View File

@@ -18,8 +18,6 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
#include <qsqldatabase.h>
#ifndef RDUSER_H
#define RDUSER_H
@@ -43,6 +41,9 @@ class RDUser
void setPamService(const QString &str) const;
QString fullName() const;
void setFullName(const QString &name) const;
QString emailAddress() const;
void setEmailAddress(const QString &str) const;
QString emailContact() const;
QString description() const;
void setDescription(const QString &desc) const;
QString phone() const;
@@ -92,23 +93,10 @@ class RDUser
bool groupAuthorized(const QString &group_name);
QStringList groups() const;
bool cartAuthorized(unsigned cartnum) const;
/** Check a default service to ensure it is valid for the current user.
*
* @param serv QString with the proposed default service, presumably gotten
* from RDAirPlayConf::defaultSvc()
* @return QString with serv if it was valid, otherwise an empty QString.
*/
QString serviceCheckDefault(QString serv) const;
/** Calculate the services associated with a user, based on the user's group
* membership and the relationship of groups to services.
*
* Note: admin users, those who pass adminConfig(), can see all services.
*
* @return QStringList with all the services associated with the user.
*/
QStringList services() const;
static bool emailIsValid(const QString &addr);
static QString emailContact(const QString &addr,const QString &fullname);
private:
void SetRow(const QString &param,const QString &value) const;