Implemented permission settings for Roles.
							parent
							
								
									09f6266123
								
							
						
					
					
						commit
						94fba56dab
					
				@ -0,0 +1,38 @@
 | 
				
			|||||||
 | 
					#include "permissionservice.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PermissionService::PermissionService()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PermissionService::~PermissionService()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QList<QSharedPointer<Permission> > PermissionService::forPlugin(const QString &pluginId)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    Transaction tr;
 | 
				
			||||||
 | 
					    odb::database *db = Context::instance().db();
 | 
				
			||||||
 | 
					    permQuery q(permQuery::pluginId == pluginId);
 | 
				
			||||||
 | 
					    permResult result = db->query<Permission>(q);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    QList<QSharedPointer<Permission> > ret;
 | 
				
			||||||
 | 
					    for (permResult::iterator it = result.begin(); it != result.end(); it++)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        ret.append(it.load());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    tr.commit();
 | 
				
			||||||
 | 
					    return ret;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QSharedPointer<Permission> PermissionService::forNameAndPlugin(const QString &name, const QString &pluginId)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    Transaction tr;
 | 
				
			||||||
 | 
					    odb::database *db = Context::instance().db();
 | 
				
			||||||
 | 
					    permQuery q(permQuery::pluginId == pluginId && permQuery::permissionName == name);
 | 
				
			||||||
 | 
					    QSharedPointer<Permission> p = db->query_one<Permission>(q);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    tr.commit();
 | 
				
			||||||
 | 
					    return p;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					#ifndef PERMISSIONSERVICE_H
 | 
				
			||||||
 | 
					#define PERMISSIONSERVICE_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "service.h"
 | 
				
			||||||
 | 
					#include "permission.h"
 | 
				
			||||||
 | 
					#include "core-odb.hxx"
 | 
				
			||||||
 | 
					#include "core_global.h"
 | 
				
			||||||
 | 
					#include <odb/core.hxx>
 | 
				
			||||||
 | 
					#include <odb/database.hxx>
 | 
				
			||||||
 | 
					#include <odb/query.hxx>
 | 
				
			||||||
 | 
					#include <odb/result.hxx>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <QList>
 | 
				
			||||||
 | 
					#include <QSharedPointer>
 | 
				
			||||||
 | 
					#include <QString>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef odb::query<Permission> permQuery;
 | 
				
			||||||
 | 
					typedef odb::result<Permission> permResult;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class CORESHARED_EXPORT PermissionService : public Service<Permission>
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					public:
 | 
				
			||||||
 | 
					    PermissionService();
 | 
				
			||||||
 | 
					    ~PermissionService();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    QList<QSharedPointer<Permission> > forPlugin(const QString &pluginId);
 | 
				
			||||||
 | 
					    QSharedPointer<Permission> forNameAndPlugin(const QString &name, const QString &pluginId);
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif // PERMISSIONSERVICE_H
 | 
				
			||||||
					Loading…
					
					
				
		Reference in New Issue