Changeset 105 for trunk/Modules/User


Ignore:
Timestamp:
Oct 9, 2012, 1:58:45 PM (12 years ago)
Author:
chronos
Message:
  • Přidáno: Hlavní modul Base, který slouží jako základní rozhraní k aplikaci pro ostatní moduly. Modul System zajistí udržování seznamu instalovaných modulů v perzistentním úložišti v databázi.
  • Upraveno: Správce modulů ModuleManager je nyní použit pro každé komunikační spojení zvlášť.
Location:
trunk/Modules/User
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Modules/User/UModuleUser.pas

    r103 r105  
    66
    77uses
    8   Classes, SysUtils, UModularSystem, SpecializedDictionary;
     8  Classes, SysUtils, UModularSystem, SpecializedDictionary, UUser,
     9  UModuleBase, UWebPage;
    910
    1011type
    11 
    1212  { TModuleUser }
    1313
    1414  TModuleUser = class(TModule)
     15  private
     16    UserControlPage: TWebPage; //TUserControlPage;
    1517  public
     18    User: TWebUser;
     19    UserOnline: TWebOnlineUser;
     20    ModuleBase: TModuleBase;
    1621    constructor Create(Owner: TComponent); override;
    1722    destructor Destroy; override;
     
    2126    procedure Uninstall; override;
    2227    procedure Upgrade; override;
     28    procedure LoadUserInfo;
    2329  end;
    2430
     
    2733
    2834uses
    29   UCore, UUserControlPage, USqlDatabase;
     35  UCore, USqlDatabase, UUserControlPage;
    3036
    3137{ TModuleUser }
     
    3945  License := 'GNU/LGPL v3';
    4046  Author := 'Chronosoft';
     47  Dependencies.Add('Base');
    4148end;
    4249
     
    4855procedure TModuleUser.Start;
    4956begin
    50   Core.Pages.RegisterPage(TUserControlPage, UserControlPage, 'uzivatel');
     57  BeforeStart;
     58  ModuleBase := TModuleBase(Manager.FindModuleByName('Base'));
     59  UserControlPage := TUserControlPage.Create(nil);
     60  ModuleBase.Pages.RegisterPage(UserControlPage, 'uzivatel');
    5161  //RegisterPage(TUserControlPage, UserControlPage, '');
    52   inherited;
     62  User := TWebUser.Create;
     63  //User.Database := Database;
     64  UserOnline := TWebOnlineUser.Create;
     65  //UserOnline.Database := Database;
     66  AfterStart;
    5367end;
    5468
    5569procedure TModuleUser.Stop;
    5670begin
    57   inherited;
    58   Core.Pages.UnregisterPage('uzivatel');
     71  BeforeStop;
     72  FreeAndNil(User);
     73  FreeAndNil(UserOnline);
     74  ModuleBase.Pages.UnregisterPage(UserControlPage);
     75  FreeAndNil(UserControlPage);
     76  ModuleBase := nil;
     77  AfterStop;
    5978end;
    6079
     
    183202end;
    184203
     204procedure TModuleUser.LoadUserInfo;
     205begin
     206  User.HandlerData := ModuleBase.HandlerData;
     207  UserOnline.HandlerData := ModuleBase.HandlerData;
     208  UserOnline.Update;
     209  User.Id := UserOnline.User;
     210  User.Load;
     211end;
     212
     213
     214
    185215end.
    186216
  • trunk/Modules/User/UUserControlPage.pas

    r103 r105  
    77uses
    88  Classes, SysUtils, FileUtil, UWebPage, UHTTPServer, UHtmlClasses, UXmlClasses,
    9   UWebObjects;
     9  UWebObjects, UModuleUser, UModuleBase;
    1010
    1111type
     
    2121    procedure HandleProfile(HandlerData: THTTPHandlerData);
    2222  public
    23     { public declarations }
    24   end;
     23    ModuleUser: TModuleUser;
     24    ModuleBase: TModuleBase;
     25  end;
    2526
    2627var
     
    4748      else PageName := '';
    4849    with HtmlDocument.Body do begin
    49       LoadUserInfo;
     50      ModuleUser.LoadUserInfo;
    5051      if PageName = '' then PageName := 'prihlaseni';
    5152      if PageName = 'prihlaseni' then HandleLogin(HandlerData)
     
    9192      with THtmlString(SubItems.AddNew(THtmlString.Create)) do
    9293        Text := 'Přihlášení uživatele: ' + TQueryFormGroup(Form.Groups[0]).Rows.FindByName('UserName').Value.Value;
    93       UserId := User.GetIdByNamePassword(TQueryFormGroup(Form.Groups[0]).Rows.FindByName('UserName').Value.Value,
     94      UserId := ModuleUser.User.GetIdByNamePassword(TQueryFormGroup(Form.Groups[0]).Rows.FindByName('UserName').Value.Value,
    9495        TQueryFormGroup(Form.Groups[0]).Rows.FindByName('Password').Value.Value);
    9596      if UserId = -1 then begin
    9697        with THtmlString(SubItems.AddNew(THtmlString.Create)) do
    9798          Text := '<br/>Chybné jméno nebo heslo';
    98       end else UserOnline.Login(UserId);
     99      end else ModuleUser.UserOnline.Login(UserId);
    99100      Form.Free;
    100101    end else
     
    149150      with THtmlString(SubItems.AddNew(THtmlString.Create)) do
    150151        Text := 'Registrace uživatele: ' + TQueryFormGroup(Form.Groups[0]).Rows.FindByName('UserName').Value.Value;
    151       User.Add(TQueryFormGroup(Form.Groups[0]).Rows.FindByName('UserName').Value.Value,
     152      ModuleUser.User.Add(TQueryFormGroup(Form.Groups[0]).Rows.FindByName('UserName').Value.Value,
    152153        TQueryFormGroup(Form.Groups[0]).Rows.FindByName('Password').Value.Value,
    153154        TQueryFormGroup(Form.Groups[0]).Rows.FindByName('Email').Value.Value);
    154       UserId := User.GetIdByNamePassword(TQueryFormGroup(Form.Groups[0]).Rows.FindByName('UserName').Value.Value,
     155      UserId := ModuleUser.User.GetIdByNamePassword(TQueryFormGroup(Form.Groups[0]).Rows.FindByName('UserName').Value.Value,
    155156        TQueryFormGroup(Form.Groups[0]).Rows.FindByName('Password').Value.Value);
    156       if UserId <> -1 then UserOnline.Login(UserId);
     157      if UserId <> -1 then ModuleUser.UserOnline.Login(UserId);
    157158      Form.Free;
    158159    end else SubItems.AddNew(Form);
     
    163164begin
    164165  with TWebSession(HandlerData), Core, HtmlDocument.Body do begin
    165     UserOnline.Logout;
     166    ModuleUser.UserOnline.Logout;
    166167    with THtmlString(SubItems.AddNew(THtmlString.Create)) do
    167168      Text := 'Uživatel odhlášen';
     
    185186          Hint := 'Zadejte vaše přihlašovací jméno';
    186187          Required := True;
    187           Value.Value := User.Name;
     188          Value.Value := ModuleUser.User.Name;
    188189        end;
    189190        with AddNewItem do begin
     
    200201          Required := True;
    201202          ItemType := fitText;
    202           Value.Value := User.Email;
     203          Value.Value := ModuleUser.User.Email;
    203204        end;
    204205        with AddNewItem do begin
     
    208209          Required := False;
    209210          ItemType := fitText;
    210           Value.Value := User.FullName;
     211          Value.Value := ModuleUser.User.FullName;
    211212        end;
    212213      end;
     
    218219      with THtmlString(SubItems.AddNew(THtmlString.Create)) do
    219220        Text := 'Profil uživatele: ' + TQueryFormGroup(Form.Groups[0]).Rows.FindByName('UserName').Value.Value + ' uložen';
    220       User.Name := TQueryFormGroup(Form.Groups[0]).Rows.FindByName('UserName').Value.Value;
    221       User.FullName := TQueryFormGroup(Form.Groups[0]).Rows.FindByName('FullName').Value.Value;
    222       User.Email := TQueryFormGroup(Form.Groups[0]).Rows.FindByName('Email').Value.Value;
    223       User.Save;
     221      ModuleUser.User.Name := TQueryFormGroup(Form.Groups[0]).Rows.FindByName('UserName').Value.Value;
     222      ModuleUser.User.FullName := TQueryFormGroup(Form.Groups[0]).Rows.FindByName('FullName').Value.Value;
     223      ModuleUser.User.Email := TQueryFormGroup(Form.Groups[0]).Rows.FindByName('Email').Value.Value;
     224      ModuleUser.User.Save;
    224225      Form.Free;
    225226    end else SubItems.AddNew(Form);
Note: See TracChangeset for help on using the changeset viewer.