Projekat

Općenito

Profil

Akcije

Nove funkcije #30585

Zatvoren

Vratite nam shift-F6 !!!

Dodano od Ernad Husremović prije oko 13 godina. Izmjenjeno prije oko 13 godina.

Status:
Zatvoreno
Prioritet:
Urgentno
Odgovorna osoba:
Saša Vranić
Početak:
22.03.2013
Završetak:
% završeno:

100%

Procjena vremena:
Akcije #1

Izmjenjeno od Ernad Husremović prije oko 13 godina

lista svih baza koje slijede pattern "ime_godina"

select datname, datdba from pg_database where datname ~ '.*_[0-9]+';

lista baza bringout:

select datname, datdba from pg_database where datname ~ 'bringout_[0-9]+';
Akcije #2

Izmjenjeno od Ernad Husremović prije oko 13 godina

bringout_2012=> select datname, datdba from pg_database where datname ~ 'bringout_[0-9]+';
    datname    | datdba
---------------+--------
 bringout_2012 |     10
 bringout_2011 |     10
 bringout_1996 |  16385
 bringout_1997 |  16385
 bringout_1998 |  16385
 bringout_1999 |  16385
 bringout_2000 |  16385
 bringout_2001 |  16385
 bringout_2002 |  16385
 bringout_2004 |  16385
 bringout_2005 |  16385
 bringout_2006 |  16385
 bringout_2007 |  16385
 bringout_2008 |  16385
 bringout_2009 |  16385
 bringout_2010 |  16385
 bringout_2003 |  16385
 bringout_2013 |  16385
(18 rows)
Akcije #3

Izmjenjeno od Ernad Husremović prije oko 13 godina

znači napuniti meni sa ovim vrijednostima ponuditi korisniku

i uraditi automatski relogin sa već pohranjenom lozinkom i paswordom

Akcije #4

Izmjenjeno od Ernad Husremović prije oko 13 godina

bringout_2012=> select distinct substring(datname, 'bringout_([0-9]+)') as godina from pg_database;
 godina
--------
 1996
 1997
 1998
 1999
 2000
 2001
 2002
 2003
 2004
 2005
 2006
 2007
 2008
 2009
 2010
 2011
 2012
 2013

(19 rows)

evo lista godina za firmu bringout

Akcije #5

Izmjenjeno od Ernad Husremović prije oko 13 godina

sličnu foru možemo primjeniti i za odabir firme.

Evo list firmi koje su dostupne na serveru, bez obzira na godine (uzevši da je konvencija baze ime_godina)

bringout_2012=> select distinct substring(datname, '(.*)_[0-9]+') from pg_database;

 substring
-----------
 bringout
 ...
 test

(4 rows)

Akcije #6

Izmjenjeno od Ernad Husremović prije oko 13 godina

naravno ova lista je dostupna tek kada se logiramo.

možemo se logirati na posljednju zapamćenu bazu pa izvršiti ovaj upit i uraditi relogin / konačni ulazak u aplikaciju.

Ta posljednja baza treba da nam i bude ponućena kod ulaska u meni za odabir firme.

ako je posljednja firma na koju smo se logirali bila fljas. onda meni treba da izgleda ovako:

bringout
> fljas <
test
Akcije #7

Izmjenjeno od Jasmin Beganović prije oko 13 godina

da i vidjeti da kod ulaska u F18 ide prvo na postgres (maintanance DB) a ne zadnju firmu, iz koje onda skečemo u firmu.

Akcije #8

Izmjenjeno od Ernad Husremović prije oko 13 godina

tako da sa enter nastavljamo rad u posljednjoj firmi koju smo radili.

Ali u kojoj godini ?

Posljednjoj firmi/godini (bazi) koja je zapamćena.

Ako smo bili u fljas_2012 nastavljamo rad u fljas_2012.

Ako odaberemo firmu test, onda idemo na rad u test_2012.

A šta ako nema sezone test_2012 ? Onda ponuditi listu dostupnih godina za firmu test (što nam već nudi shift-F6).

Akcije #9

Izmjenjeno od Ernad Husremović prije oko 13 godina

Jasmin Beganović je napisao/la:

da i vidjeti da kod ulaska u F18 ide prvo na postgres (maintanance DB) a ne zadnju firmu, iz koje onda skečemo u firmu.

ne treba. možemo se logirati na zadnju bazu i dobiti listu firmi.

Obični user se ne bi trebao logirati na postgres bazu. To bi mu trebalo zabraniti u principu.

Akcije #10

Izmjenjeno od Ernad Husremović prije oko 13 godina

Eto ovo će sada sale za 5 minuta riješiti :)

Akcije #11

Izmjenjeno od Jasmin Beganović prije oko 13 godina

Ernad Husremović je napisao/la:

Jasmin Beganović je napisao/la:

da i vidjeti da kod ulaska u F18 ide prvo na postgres (maintanance DB) a ne zadnju firmu, iz koje onda skečemo u firmu.

ne treba. možemo se logirati na zadnju bazu i dobiti listu firmi.

nije praktično iz razloga što ljudi čekaju na sync tabela za firmu u kojoj ne žele možda ni raditi.

Obični user se ne bi trebao logirati na postgres bazu. To bi mu trebalo zabraniti u principu.

zašto ? to joj je upravo namjena

Akcije #12

Izmjenjeno od Ernad Husremović prije oko 13 godina

neće čekati ni na kakav sync tabela.

Akcije #13

Izmjenjeno od Ernad Husremović prije oko 13 godina

Jasmin Beganović je napisao/la:

Ernad Husremović je napisao/la:

Jasmin Beganović je napisao/la:

da i vidjeti da kod ulaska u F18 ide prvo na postgres (maintanance DB) a ne zadnju firmu, iz koje onda skečemo u firmu.

ne treba. možemo se logirati na zadnju bazu i dobiti listu firmi.

nije praktično iz razloga što ljudi čekaju na sync tabela za firmu u kojoj ne žele možda ni raditi.

Obični user se ne bi trebao logirati na postgres bazu. To bi mu trebalo zabraniti u principu.

zašto ? to joj je upravo namjena

zar jeste ?

Akcije #14

Izmjenjeno od Jasmin Beganović prije oko 13 godina

da to sam negdje pročitao u dokumentaciji

Akcije #15

Izmjenjeno od Ernad Husremović prije oko 13 godina

kao nekakav root database ?

A ja sam baš mislio da treba izbjegavati da se korisnik logira na postgresql da ne bi nešto uhak'o.

Još jednom provjeri da li je to tako namjenjeno - ako jeste onda prvi logi može biti na postgres db. Ako ne - radi i ovo što sam ranije rekao - na posljednju logiranu bazu.

Tu će se samo izvršiti login na server, napraviti upit i dati korisniku lista dostupnih firmi (i po potrebi godina, vidi gore).

Akcije #16

Izmjenjeno od Jasmin Beganović prije oko 13 godina

http://www.postgresql.org/docs/9.1/static/manage-ag-templatedbs.html

The postgres database is also created when a database cluster is initialized. 
This database is meant as a default database for users and applications to connect to. 
It is simply a copy of template1 and can be dropped and recreated if necessary.
Akcije #17

Izmjenjeno od Ernad Husremović prije oko 13 godina

super onda je sve jasno

Akcije #18

Izmjenjeno od Saša Vranić prije oko 13 godina

eto, pa napravite nam to

Akcije #19

Izmjenjeno od Ernad Husremović prije oko 13 godina

mi ne znamo.

Akcije #20

Izmjenjeno od Saša Vranić prije oko 13 godina

commit

shift + F6 vraćen u funkciju...

ovih zadnjih dana inače implementiram klasu F18Login koja sadrži metode za ovakve stvari...

tako sada recimo relogin radimo ovako:

  1. relogin sa upitom za godinu
    local oLogin := F18Login():New()
    local _server_params := pg_server()
    
    oLogin:company_db_relogin( _server_params )
    
  2. relogin bez upita godine
    local oLogin := F18Login():New()
    local _server_params := pg_server()
    local _database := _server_params["database"]
    local _session := ALLTRIM( STR( YEAR( DATE() ) - 1 ) )  // tekuca godina - 1
    
    oLogin:company_db_relogin( _server_params, _database, _session )
    
    

dakle, proslijeđuju se parametri... baze i sezone

znači, ova opcija sada dozvoljava čak da pravimo relogin i na neku drugu bazu i drugu sezonu...

Akcije #21

Izmjenjeno od Saša Vranić prije oko 13 godina

login...

commit

imamo prvi korak to je konfiguracija servera i username/pwd

drugi screen su nam firme koje biramo iz matrice.

Na ovome još radim...

Akcije #22

Izmjenjeno od Saša Vranić prije oko 13 godina

  • Status promijenjeno iz Dodijeljeno u Zatvoreno
  • % završeno promijenjeno iz 0 u 100

završeno

Akcije

Također dostupno kao Atom PDF