/** * Odoo, Open Source Management Solution * Copyright (C) 2012-today Odoo SA (<http:www.odoo.com>) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http:www.gnu.org/licenses/> * * Created on 17/12/14 6:19 PM */ package com.odoo.core.support; import android.accounts.Account; import android.accounts.AccountManager; import android.content.Context; import android.os.Bundle; import com.odoo.core.auth.OdooAccountManager; public class OUser { /** * The username. */ private String username; /** * The name. */ private String name; /** * The user_id. */ private int user_id; /** * The partner_id. */ private int partner_id; /** * The timezone. */ private String timezone; /** * The isactive. */ private boolean isactive; /** * The avatar. */ private String avatar; /** * The database. */ private String database; /** * The host. */ private String host; /** * The android_name. */ private String android_name; /** * The password. */ private String password; /** * The company_id. */ private String company_id; /** * The allow_self_signed_ssl. */ private boolean allow_self_signed_ssl = false; /** * The oauth_login. */ private boolean oauth_login = false; /** * The version_number. */ private Integer version_number = 0; /** * The version_serie. */ private String version_serie = null; // If oauth login /** * The instance_url. */ private String instance_url = null; /** * The instance_database. */ private String instance_database = null; /** * The client_id. */ private String client_id = null; /** * Account instance */ private Account account = null; /** * Current. * * @param context the context * @return the o user */ public static OUser current(Context context) { return OdooAccountManager.getActiveUser(context); } /** * Gets the name. * * @return the name */ public String getName() { return name; } /** * Sets the name. * * @param name the new name */ public void setName(String name) { this.name = name; } /** * Gets the company_id. * * @return the company_id */ public String getCompany_id() { return company_id; } /** * Sets the company_id. * * @param company_id the new company_id */ public void setCompany_id(String company_id) { this.company_id = company_id; } /** * Gets the data as bundle. * * @return the as bundle */ public Bundle getAsBundle() { Bundle bundle = new Bundle(); bundle.putString("name", this.getName()); bundle.putString("username", this.getUsername()); bundle.putString("user_id", this.getUser_id() + ""); bundle.putString("partner_id", this.getPartner_id() + ""); bundle.putString("timezone", this.getTimezone()); bundle.putString("isactive", String.valueOf(this.isIsactive())); bundle.putString("avatar", this.getAvatar()); bundle.putString("database", this.getDatabase()); bundle.putString("host", this.getHost()); bundle.putString("android_name", this.getAndroidName()); bundle.putString("password", this.getPassword()); bundle.putString("company_id", this.getCompany_id()); bundle.putString("allow_self_signed_ssl", String.valueOf(this.isAllowSelfSignedSSL())); bundle.putString("instance_database", this.getInstanceDatabase()); bundle.putString("instance_url", this.getInstanceUrl()); bundle.putString("oauth_login", this.isOAauthLogin() + ""); bundle.putString("client_id", this.getClientId()); bundle.putString("odoo_version_number", getVersion_number() + ""); bundle.putString("odoo_version_serie", getVersion_serie()); return bundle; } /** * Sets the data from bundle. * * @param data the new from bundle */ public void setFromBundle(Bundle data) { setName(data.getString("name")); setUsername(data.getString("username")); setUser_id(Integer.parseInt(data.getString("user_id"))); setPartner_id(Integer.parseInt(data.getString("partner_id"))); setTimezone(data.getString("timezone")); setIsactive(Boolean.parseBoolean(data.getString("isactive"))); setAvatar(data.getString("avatar")); setDatabase(data.getString("database")); setHost(data.getString("host")); setAndroidName(data.getString("android_name")); setPassword(data.getString("password")); setCompany_id(data.getString("company_id")); setAllowSelfSignedSSL(Boolean.parseBoolean(data .getString("allow_self_signed_ssl"))); setVersion_number(Integer.parseInt(data .getString("odoo_version_number"))); setVersion_serie(data.getString("odoo_version_serie")); // If oAuth Login setInstanceDatabase(data.getString("instance_database")); setInstanceUrl(data.getString("instance_url")); setOAuthLogin(Boolean.parseBoolean(data.getString("oauth_login"))); setClientId(data.getString("client_id")); } /** * Fill from account. * * @param accMgr the acc mgr * @param account the account */ public void fillFromAccount(AccountManager accMgr, Account account) { setName(accMgr.getUserData(account, "name")); setUsername(accMgr.getUserData(account, "username")); setUser_id(Integer.parseInt(accMgr.getUserData(account, "user_id"))); setPartner_id(Integer.parseInt(accMgr .getUserData(account, "partner_id"))); setTimezone(accMgr.getUserData(account, "timezone")); setIsactive(Boolean.parseBoolean(accMgr .getUserData(account, "isactive"))); try { setAvatar(accMgr.getUserData(account, "avatar")); } catch (Exception e) { setAvatar("false"); } setDatabase(accMgr.getUserData(account, "database")); setHost(accMgr.getUserData(account, "host")); setAndroidName(accMgr.getUserData(account, "android_name")); setPassword(accMgr.getUserData(account, "password")); setCompany_id(accMgr.getUserData(account, "company_id")); setAllowSelfSignedSSL(Boolean.parseBoolean(accMgr.getUserData(account, "allow_self_signed_ssl"))); String odoo_version_number = accMgr.getUserData(account, "odoo_version_number"); if (odoo_version_number != null && !odoo_version_number.contains("null")) setVersion_number(Integer.parseInt(odoo_version_number)); setVersion_serie(accMgr.getUserData(account, "odoo_version_serie")); // If oAuth login setOAuthLogin(Boolean.parseBoolean(accMgr.getUserData(account, "oauth_login"))); setInstanceDatabase(accMgr.getUserData(account, "instance_database")); setInstanceUrl(accMgr.getUserData(account, "instance_url")); setClientId(accMgr.getUserData(account, "client_id")); } /** * Gets the password. * * @return the password */ public String getPassword() { return password; } /** * Sets the password. * * @param password the new password */ public void setPassword(String password) { this.password = password; } /** * Gets the android name. * * @return the android name */ public String getAndroidName() { return this.android_name; } /** * Sets the android name. * * @param android_name the new android name */ public void setAndroidName(String android_name) { this.android_name = android_name; } /** * Gets the username. * * @return the username */ public String getUsername() { return username; } /** * Sets the username. * * @param username the new username */ public void setUsername(String username) { this.username = username; } /** * Gets the user_id. * * @return the user_id */ public int getUser_id() { return user_id; } /** * Sets the user_id. * * @param user_id the new user_id */ public void setUser_id(int user_id) { this.user_id = user_id; } /** * Gets the partner_id. * * @return the partner_id */ public int getPartner_id() { return partner_id; } /** * Sets the partner_id. * * @param partner_id the new partner_id */ public void setPartner_id(int partner_id) { this.partner_id = partner_id; } /** * Gets the timezone. * * @return the timezone */ public String getTimezone() { return timezone; } /** * Sets the timezone. * * @param timezone the new timezone */ public void setTimezone(String timezone) { this.timezone = timezone; } /** * Checks if is isactive. * * @return true, if is isactive */ public boolean isIsactive() { return isactive; } /** * Sets the isactive. * * @param isactive the new isactive */ public void setIsactive(boolean isactive) { this.isactive = isactive; } /** * Gets the avatar. * * @return the avatar */ public String getAvatar() { return avatar; } /** * Sets the avatar. * * @param avatar the new avatar */ public void setAvatar(String avatar) { this.avatar = avatar; } /** * Gets the database. * * @return the database */ public String getDatabase() { return database; } /** * Sets the database. * * @param database the new database */ public void setDatabase(String database) { this.database = database; } /** * Gets the host. * * @return the host */ public String getHost() { return host; } /** * Sets the host. * * @param host the new host */ public void setHost(String host) { this.host = host; } /** * Checks if is allow self signed ssl. * * @return true, if is allow self signed ssl */ public boolean isAllowSelfSignedSSL() { return allow_self_signed_ssl; } /** * Sets the allow self signed ssl. * * @param allow_self_signed_ssl the new allow self signed ssl */ public void setAllowSelfSignedSSL(boolean allow_self_signed_ssl) { this.allow_self_signed_ssl = allow_self_signed_ssl; } /** * Checks if is o aauth login. * * @return true, if is o aauth login */ public boolean isOAauthLogin() { return oauth_login; } /** * Sets the o auth login. * * @param oauth_login the new o auth login */ public void setOAuthLogin(boolean oauth_login) { this.oauth_login = oauth_login; } /** * Gets the instance url. * * @return the instance url */ public String getInstanceUrl() { return instance_url; } /** * Sets the instance url. * * @param instnace_url the new instance url */ public void setInstanceUrl(String instnace_url) { this.instance_url = instnace_url; } /** * Gets the instance database. * * @return the instance database */ public String getInstanceDatabase() { return instance_database; } /** * Sets the instance database. * * @param instance_database the new instance database */ public void setInstanceDatabase(String instance_database) { this.instance_database = instance_database; } /** * Gets the client id. * * @return the client id */ public String getClientId() { return client_id; } /** * Sets the client id. * * @param client_id the new client id */ public void setClientId(String client_id) { this.client_id = client_id; } public Integer getVersion_number() { return version_number; } public void setVersion_number(Integer version_number) { this.version_number = version_number; } public String getVersion_serie() { return version_serie; } public void setVersion_serie(String version_serie) { this.version_serie = version_serie; } public String getDBName() { String db_name = "OdooSQLite"; db_name += "_" + getUsername(); db_name += "_" + getDatabase(); return db_name + ".db"; } @Override public String toString() { return getAndroidName(); } public Account getAccount() { return account; } public void setAccount(Account account) { this.account = account; } }