unit uPluginComisiones;

interface

uses
  uModuleController, uInterfaces, uHostManager, Menus, Classes, ActnList,
  ImgList, Controls, PngImageList;

type
  IMCComisiones = interface(IInterface)
  ['{B6E222C6-F526-40D7-A80D-63117B0586E7}']
  end;

  TPluginComisiones = class(TModuleController, IMCComisiones)
    actComisiones: TAction;
    ExtraImages: TPngImageList;
    LargeImages: TPngImageList;
    MainMenu: TMainMenu;
    ModuleActionList: TActionList;
    SmallImages: TPngImageList;
    Empresas1: TMenuItem;
    Comisiones1: TMenuItem;
    procedure actComisionesExecute(Sender: TObject);
    procedure actComisionesUpdate(Sender: TObject);
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  end;

implementation

{$R *.dfm}

uses
  Forms, Dialogs, SysUtils, uFactuGES_App,
  uComisionesController, uBizComisiones, uComisionesViewRegister;

function GetModule : TModuleController;
begin
  Result := TPluginComisiones.Create(NIL);
end;

exports
  GetModule name GET_MODULE_FUNC;

procedure TPluginComisiones.actComisionesExecute(Sender: TObject);
var
  AComisionesController : IComisionesController;
  AComisiones : IBizComisiones;
begin
  AComisionesController := TComisionesController.Create;
  AComisiones := (AComisionesController.BuscarTodos as IBizComisiones);
  AComisionesController.VerTodos(AComisiones);
end;

procedure TPluginComisiones.actComisionesUpdate(Sender: TObject);
begin
  (Sender as TAction).Enabled := Assigned(AppFactuGES.EmpresaActiva)
end;

constructor TPluginComisiones.Create(AOwner: TComponent);
begin
  inherited;
  uComisionesViewRegister.RegisterViews;

  //El usuario vendedor y logistica será restringido  
  if ((AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PREFIL_LOGISTICA) OR (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PERFIL_VENDEDOR)) then
     actComisiones.Visible := False;

end;

destructor TPluginComisiones.Destroy;
begin
  uComisionesViewRegister.UnregisterViews;
  inherited;
end;

initialization
  RegisterModuleClass(TPluginComisiones);

finalization
  UnRegisterModuleClass(TPluginComisiones);

end.
