Ignore:
Timestamp:
Dec 30, 2011, 6:00:53 PM (13 years ago)
Author:
chronos
Message:
  • Přidáno: Částečně zprovozněna registrace a přihlašování uživatelů.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Pages/UUserControlPage.pas

    r68 r69  
    1818    procedure HandleLogin(HandlerData: THTTPHandlerData);
    1919    procedure HandleRegistration(HandlerData: THTTPHandlerData);
     20    procedure HandleLogout(HandlerData: THTTPHandlerData);
     21    procedure HandleProfile(HandlerData: THTTPHandlerData);
    2022  public
    2123    { public declarations }
     
    3032
    3133uses
    32   UMainModule, UCore;
     34  UMainModule, UCore, UUser;
    3335
    3436  { TUserControlPage }
     
    4547  with MainModule, HtmlDocument.Body do begin
    4648    if PageName = '' then PageName := 'prihlaseni';
    47     if PageName = 'prihlaseni' then begin
    48       HandleLogin(HandlerData);
    49     end else
    50     if PageName = 'registrace' then begin
    51       HandleRegistration(HandlerData);
    52     end;
     49    if PageName = 'prihlaseni' then HandleLogin(HandlerData)
     50      else if PageName = 'registrace' then HandleRegistration(HandlerData)
     51      else if PageName = 'odhlaseni' then HandleLogout(HandlerData)
     52      else if PageName = 'profil' then HandleProfile(HandlerData);
    5353  end;
    5454  MainModule.GeneratePage(HandlerData, Self);
     
    5858var
    5959  Form: TQueryForm;
     60  UserId: Integer;
    6061begin
    6162  with MainModule, HtmlDocument.Body do begin
     
    6970        with AddNewItem do begin
    7071          Caption := 'Jméno';
    71           Name := 'Name';
     72          Name := 'UserName';
    7273          Hint := 'Zadejte vaše přihlašovací jméno';
    7374          Required := True;
     
    8990      Form.Load(HandlerData.Request.Post);
    9091      with THtmlString(SubItems.AddNew(THtmlString.Create)) do
    91         Text := 'Přihlášení user: ' + TQueryFormItem(TQueryFormGroup(Form.Groups[0]).Rows[0]).Value.Value;
     92        Text := 'Přihlášení user: ' + TQueryFormGroup(Form.Groups[0]).Rows.FindByName('UserName').Value.Value;
     93      UserId := MainModule.User.GetIdByNamePassword(TQueryFormGroup(Form.Groups[0]).Rows.FindByName('UserName').Value.Value,
     94        TQueryFormGroup(Form.Groups[0]).Rows.FindByName('Password').Value.Value);
     95      UserOnline.Login(UserId);
    9296      Form.Free;
    9397    end else
     
    97101
    98102procedure TUserControlPage.HandleRegistration(HandlerData: THTTPHandlerData);
     103var
     104  Form: TQueryForm;
     105  UserId: Integer;
    99106begin
    100107  with MainModule, HtmlDocument.Body do begin
    101     with TQueryForm(SubItems.AddNew(TQueryForm.Create)) do begin
     108    Form := TQueryForm.Create;
     109    with Form do begin
    102110      Title := 'Registrace nového účtu';
    103111      ClassId := 'WideTable';
     
    106114        with AddNewItem do begin
    107115          Caption := 'Jméno';
    108           Name := 'Name';
     116          Name := 'UserName';
    109117          Hint := 'Zadejte vaše přihlašovací jméno';
    110118          Required := True;
     
    136144      end;
    137145    end;
     146    if HandlerData.Request.Post.IndexOfName('Register') <> -1 then
     147    with HandlerData.Request do begin
     148      Form.Load(HandlerData.Request.Post);
     149      with THtmlString(SubItems.AddNew(THtmlString.Create)) do
     150        Text := 'Registrace uživatele: ' + TQueryFormGroup(Form.Groups[0]).Rows.FindByName('UserName').Value.Value;
     151      MainModule.User.Add(TQueryFormGroup(Form.Groups[0]).Rows.FindByName('UserName').Value.Value,
     152        TQueryFormGroup(Form.Groups[0]).Rows.FindByName('Password').Value.Value,
     153        TQueryFormGroup(Form.Groups[0]).Rows.FindByName('Email').Value.Value);
     154      UserId := MainModule.User.GetIdByNamePassword(TQueryFormGroup(Form.Groups[0]).Rows.FindByName('UserName').Value.Value,
     155        TQueryFormGroup(Form.Groups[0]).Rows.FindByName('Password').Value.Value);
     156      MainModule.UserOnline.Login(UserId);
     157      Form.Free;
     158    end else SubItems.AddNew(Form);
    138159  end;
     160end;
     161
     162procedure TUserControlPage.HandleLogout(HandlerData: THTTPHandlerData);
     163begin
     164  with MainModule, HtmlDocument.Body do begin
     165    UserOnline.Logout;
     166    with THtmlString(SubItems.AddNew(THtmlString.Create)) do
     167      Text := 'Uživatel odhlášen';
     168  end;
     169end;
     170
     171procedure TUserControlPage.HandleProfile(HandlerData: THTTPHandlerData);
     172begin
     173
    139174end;
    140175
Note: See TracChangeset for help on using the changeset viewer.