Add ascending/descending operation order in preferences

Remove default_preferences table
Force date by default in SearchPanel
Update TODO !!
Add a generic UpdatePreference instead of SetLanguage, SetXXX into Database
This commit is contained in:
2010-07-27 22:31:56 +02:00
parent c5ad18fd12
commit 8ad5e7d0ad
10 changed files with 104 additions and 23 deletions

View File

@@ -201,11 +201,13 @@ User* Database::LoadUser(const wxString& name)
return NULL;
user = new User();
user->_id = set.GetAsString(wxT("id"));
user->_name = set.GetAsString(wxT("name"));
user->_password = wxT("") ; // Security reasons set.GetAsString("password");
user->_preferences[wxT("operation_order")] = wxT("ASC") ;
set.Finalize();
req = wxT("SELECT * FROM account WHERE user='") + user->_id + wxT("' ORDER BY default_account DESC, name ASC");
@@ -295,7 +297,8 @@ void Database::LoadYear(User* user, int year)
req += wxT("')");
req += wxT(" OR user='") + user->_id + wxT("')");
req += wxT(" AND year='") + wxString::Format(wxT("%d"), year) + wxT("'");
req += wxT(" ORDER BY fix_cost DESC, year,month,day ASC");
req += wxT(" ORDER BY fix_cost DESC, year, month ASC, day ");
req += user->_preferences[wxT("operation_order")];
EXECUTE_SQL_QUERY(req, set, );
@@ -883,12 +886,14 @@ void Database::KillMe(User* user)
EXECUTE_SQL_UPDATE(req, );
}
void Database::SetLanguage(User* user, wxLanguage language)
void Database::UpdatePreference(User* user, const wxString& preference)
{
wxString req;
wxString value = user->_preferences[preference];
req = wxT("UPDATE preference SET ") ;
req += wxT("name='language'");
req += wxT(", value='") + wxString::Format(wxT("%d"), language) + wxT("'");
req += wxT("name='") + preference + wxT("'");
req += wxT(", value='") + value + wxT("'");
req += wxT(" WHERE user='") + user->_id + wxT("'");
try
@@ -897,8 +902,8 @@ void Database::SetLanguage(User* user, wxLanguage language)
{
req = wxT("INSERT INTO preference ('user', 'name', 'value') VALUES ('") ;
req += user->_id + wxT("'");
req += wxT(" ,'language'");
req += wxT(" ,'") + wxString::Format(wxT("%d"), language) + wxT("'");
req += wxT(" ,'") + preference + wxT("'");
req += wxT(" ,'") + value + wxT("'");
req += wxT(")");
EXECUTE_SQL_UPDATE(req, );
}
@@ -1003,7 +1008,10 @@ std::vector<Operation>* Database::Search(User* user, wxString* description, wxDa
req += wxT("')");
}
req += wxT(" ORDER BY year,month,day ASC");
req += wxT(" ORDER BY year ") ;
req += user->_preferences[wxT("operation_order")] ;
req += wxT(", month ") + user->_preferences[wxT("operation_order")] ;
req += wxT(", day ") + user->_preferences[wxT("operation_order")] ;
// std::cout << req.mb_str() << "\n";

View File

@@ -66,7 +66,7 @@ class Database
void ChangeName(User* user, const wxString& name);
void NewUser(const wxString& name);
void SetLanguage(User* user, wxLanguage language);
void UpdatePreference(User* user, const wxString& preference);
std::vector<Operation>* Search(User* user, wxString* description, wxDateTime* dateFrom, wxDateTime* dateTo,
wxString* amountFrom, wxString* amountTo,