Giter Site home page Giter Site logo

framework's Introduction

Odoo Mobile


v2.3.0 (Build 7)

Odoo Mobile v2.3.0 (Framework)

Odoo Mobile is open-source framework allows you to integrate Odoo into your Android app.

Odoo is a powerful open source framework. With help of this framework we can rapidly develop almost any application.

World is contracting with the growth of mobile phone technology. As the number of users is increasing day by day, facilities are also increasing. Now a days mobiles are not used just for making calls but they have innumerable uses and can be used as a Camera , Music player, Tablet PC, T.V. , Web browser etc. And with the new technologies, new software and operating systems are required. One of the most widely used mobile OS these days is ANDROID. Android is a software bunch comprising not only operating system but also middleware and key applications.

With the help of mobile framework developer can rapidly develop almost all Odoo supported application as faster as we can develop in Odoo. This framework contains its own ORM to handle mobile’s local database (SQLite). So you do not have to worry data coming from Odoo.

It has pre-developed services,providers, controls and more other features to make your application faster and better.

Odoo Mobile is a part of The Odoo (India)

CHANGELOG

  • November 2016

    • odoo-rpc-v3 source merged with Framework
    • Added Odoo 10.0 support
    • Minor bug fixes
    • Runtime model registry (No need to register each models in BaseModel class) Note: With Instant Run registry will not work in Debug mode, but it will work fine in Released mode Disable Instant Run https://goo.gl/lsfhq9
  • June 2016

    • Sync performance improved
    • Easy relation record creation (Fix for: #138)
      • ManyToOne, OneToMany and ManyToMany
    • Minor bug fixes

SUPPORTED ODOO VERSIONS

  • Odoo 7.0
  • Odoo 8.0
  • Odoo 9.0
  • Odoo 10.0

HOW TO START

Learn more about the integrating odoo apps with your android app, accessing source code, and more at http://mobile.odoo.co.in/v2/

REQUIRES

GIVE FEEDBACK

Follow us on Twitter: @odoomobile

framework's People

Contributors

asa-odoo avatar dpr-odoo avatar dso-odoo avatar mga-odoo avatar nip-odoo avatar r-mckay avatar sla-odoo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

framework's Issues

Problem importing

Hello
When i import the project "framework-master" in android studio, i found some problems in com.odoo.core.service.OSyncAdapter:
this import are not reconaized
import odoo.Odoo;
import odoo.helper.ODomain;
import odoo.helper.ORecordValues;
import odoo.helper.OdooFields;
import odoo.helper.utils.gson.OdooRecord;
import odoo.helper.utils.gson.OdooResult;
any help?

can't find how to configure my Database

i created two new tables under idea, and it didn't work.
should i create the same schema as the server's DataBase ?

and i need to know how can i configure the data base ( name etc.. )

i want to add table Appointments and its Form

i did the same work as you did with ResPartners . but it dosen't work and i couldn't solve it cause it doesn't show any error on my log.
First of all i created a class that extends OModel "ResAppointement" ,then i created the form in partner_detail layout with visibility false ,so i can swapp between the différent forms.
second, after getting Types from Partners class with "mtype = Partners.Type.valueOf(arg.getString("partner_type"));" ,
i did this :
switch(mtype) {

       case Patients:
        OControls.setVisible(mView, R.id.partnerDetail);
        mForm = (OForm) mView.findViewById(R.id.partnerDetail);
        ResPartner resPartner = new ResPartner(getActivity());
        if (mId != null) {
            mRecord = resPartner.select(mId);
            mForm.initForm(mRecord);

        } else {
            mForm.setModel(resPartner);
        }
           break;
           case Appointments:
        OControls.setVisible(mView, R.id.partnerDetail);
        mForm = (OForm) mView.findViewById(R.id.partnerDetail);
        ResAppointment resAppointment = new ResAppointment(getActivity());
        if (mId != null) {
            mRecord = resAppointment.select(mId);
            mForm.initForm(mRecord);

        } else {
            mForm.setModel(resAppointment);
        }
               break ;

.
Can you plz help me .

One2Many Field breaks sync operation

If i ignore the one2many fields which my odoo module has, and I don't declare them in the java class, the sync operation works fine, I can retrieve all data from server , and can also save changes and update on the server.

If I try to implement the one2many fields, even though I can retrieve the field data from the server, I can no longer update any of the other fields on the server. I can see the changes locally, but not on server.

How to remove login ?

Hi every body !!
In odoo mobile framework, How to remove login ?
please help me!
thanks all !

ServerDataHelper.searchrecords(OFieldsHelper fields, ODomain domain, int limit) is broken

Hey guys,

We've forked your project and worked on a new module for Delivery Orders (stock.picking.out),

Each DO is linked to multiple Stockmoves (stock.move) through a OneToMany relation with the field moves_lines in stock.picking.out.

We are implementing a live request feature as a fallback if the DO has not been synced on device.
I stumbled upon a helper class, ServerDataHelper which has a search_records method.

It performs a search_read on the server. This is exactly what we want. But I found that when converting the JSON returned to a valid ODataRow some stuff was broken.

public List<ODataRow> searchRecords(OFieldsHelper fields, ODomain domain, int limit) {
    List<ODataRow> items = new ArrayList<ODataRow>();
    try {
         if (mApp.inNetwork()) {
             JSONObject result = mOdoo.search_read(mModel.getModelName(),
                    fields.get(), domain.get(), 0, limit, null, null);
            JSONArray records = result.getJSONArray("records");
            if (records.length() > 0) {
                for (int i = 0; i < records.length(); i++) {
                    items.add(JSONUtils.toDataRow(records.getJSONObject(i)));
                }
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return items;
}

The OneToMany relation is not accounted for, and when trying to access the stockmoves linked by the field move_lines It just crashes saying it cannot convert a JSONArray to a List of ODataRow

This is the faulty method:

public static ODataRow toDataRow(JSONObject json) {
    ODataRow row = new ODataRow();
    try {
    @SuppressWarnings("unchecked")
        Iterator<String> keys = json.keys();
        while (keys.hasNext()) {
            String key = keys.next();
            row.put(key, json.get(key));
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return row;
}

So basically we end up with a JSONArray in the move_lines field of our Delivery Order.
I'm gonna try to fix it, but this is kind of bad, since it can return none-usable object without warning.

If you guys have any solution in the meantime, I'll be happy to hear about it. I'm trying to bypass the syncWithServer stuff since it seems quite long and not fully optimized.

Thanks,

"no country selected" not working

hi
on country field if select "no country selected" than country_id change to false ... by sync value not change on server! select other value work fine but select "no .... selected" not work

Sync many2many field

Hello everybody
I have a problem with field many2many on synchronisation of the ResPartner mobule
Trace like this:

02-16 21:05:28.453: E/SQLiteLog(19706): (1) no such column: category_id
02-16 21:05:28.453: I/OSyncAdapter(19706): Found 0 local entries for upload to server
02-16 21:05:29.943: W/System.err(19706): android.database.sqlite.SQLiteException: no such column: category_id (code 1): , while compiling: UPDATE res_partner SET company_id=?,phone=?,street=?,image_small=?,customer=?,date=?,write_date=?,city=?,id=?,state_id=?,create_date=?,odoo_name=?,name=?,supplier=?,street2=?,zip=?,website=?,country_id=?,category_id=?,email=?,is_company=?,is_dirty=?,local_write_date=?,comment=?,property_product_pricelist=?,mobile=? WHERE (_id=?)
02-16 21:05:29.973: W/System.err(19706): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
02-16 21:05:29.973: W/System.err(19706): at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
02-16 21:05:30.843: W/System.err(19706): at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
02-16 21:05:31.043: W/System.err(19706): at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)

Any help please?

not able to run this app in eclipse

Dear All,

After importing this folder in eclipse its showing error this cannot be resolved.

import android.support.v7.app.ActionBar;
import com.odoo.R;

What i need to do anything i did wrong please correct me.

Many thanks.

Understanding Odoo Mobile Framework v2.0

Hello everybody
I downloaded the last version (v2.0) of Odoo Mobile Framework and I found in com.odoo.addons.partners package :
-1- PartnersCursorLoader.java
-2-Partners.java
I didn't understand the difference between those two files
and PartnersCursorLoader used for what?
Any one can help me?
Thanks

Can't Login after logging out

Following these steps to reproduce the bug.

  1. Login using the app.
  2. Logout from the app after initial sync is done.
  3. Try to login to same URL / Database.

App will always display progress without doing anything.

Cheers,
Parthiv

Many2One Issue in framework 1.0

Hello !

I am using Odoo-mobile framework 1.0 with odoo v8 on server side.
The issue I am facing is in odoo v8,
"stock.warehouse" has a many2one filed relating to "stock.picking.type", and,
"stock.picking.type" also has a many2one field relating to "stock.warehouse".
A kind of loop.

So when ever I start syncing the data in app or I install the app for very first time, I am getting this error:

03-31 05:32:38.769: E/AndroidRuntime(1468): FATAL EXCEPTION: AsyncTask #5
03-31 05:32:38.769: E/AndroidRuntime(1468): Process: com.odoo, PID: 1468
03-31 05:32:38.769: E/AndroidRuntime(1468): java.lang.RuntimeException: An error occured while executing doInBackground()
03-31 05:32:38.769: E/AndroidRuntime(1468):     at android.os.AsyncTask$3.done(AsyncTask.java:300)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at java.util.concurrent.FutureTask.run(FutureTask.java:242)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at java.lang.Thread.run(Thread.java:841)
03-31 05:32:38.769: E/AndroidRuntime(1468): Caused by: java.lang.StackOverflowError
03-31 05:32:38.769: E/AndroidRuntime(1468):     at java.util.GregorianCalendar.computeFields(GregorianCalendar.java:573)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at java.util.Calendar.complete(Calendar.java:830)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at java.util.Calendar.setTimeInMillis(Calendar.java:1195)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at java.util.GregorianCalendar.<init>(GregorianCalendar.java:331)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at java.util.GregorianCalendar.<init>(GregorianCalendar.java:231)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at java.text.SimpleDateFormat.set2DigitYearStart(SimpleDateFormat.java:1262)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at org.apache.http.impl.cookie.DateUtils.parseDate(DateUtils.java:158)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at org.apache.http.impl.cookie.DateUtils.parseDate(DateUtils.java:115)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at org.apache.http.impl.cookie.BasicExpiresHandler.parse(BasicExpiresHandler.java:58)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at org.apache.http.impl.cookie.CookieSpecBase.parse(CookieSpecBase.java:95)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at org.apache.http.impl.cookie.NetscapeDraftSpec.parse(NetscapeDraftSpec.java:144)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at org.apache.http.impl.cookie.BestMatchSpec.parse(BestMatchSpec.java:125)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at org.apache.http.client.protocol.ResponseProcessCookies.processCookies(ResponseProcessCookies.java:120)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at org.apache.http.client.protocol.ResponseProcessCookies.process(ResponseProcessCookies.java:101)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at org.apache.http.protocol.BasicHttpProcessor.process(BasicHttpProcessor.java:304)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at org.apache.http.protocol.HttpRequestExecutor.postProcess(HttpRequestExecutor.java:319)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:464)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at asd.odoo.Odoo.requestData(Odoo.java:253)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at asd.odoo.Odoo.search_read(Odoo.java:597)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.syncWithServer(OEHelper.java:271)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.handleResultArray(OEHelper.java:317)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.syncWithServer(OEHelper.java:274)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.handleResultArray(OEHelper.java:317)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.syncWithServer(OEHelper.java:274)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.handleResultArray(OEHelper.java:317)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.syncWithServer(OEHelper.java:274)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.handleResultArray(OEHelper.java:317)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.syncWithServer(OEHelper.java:274)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.handleResultArray(OEHelper.java:317)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.syncWithServer(OEHelper.java:274)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.handleResultArray(OEHelper.java:317)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.syncWithServer(OEHelper.java:274)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.handleResultArray(OEHelper.java:317)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.syncWithServer(OEHelper.java:274)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.handleResultArray(OEHelper.java:317)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.syncWithServer(OEHelper.java:274)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.handleResultArray(OEHelper.java:317)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.syncWithServer(OEHelper.java:274)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.handleResultArray(OEHelper.java:317)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.syncWithServer(OEHelper.java:274)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.handleResultArray(OEHelper.java:317)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.syncWithServer(OEHelper.java:274)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.handleResultArray(OEHelper.java:317)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo.orm.OEHelper.syncWithServer(OEHelper.java:274)
03-31 05:32:38.769: E/AndroidRuntime(1468):     at com.odoo
03-31 05:32:39.765: E/WindowManager(1468): android.view.WindowLeaked: Activity com.odoo.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{529b85f4 V.E..... R......D 0,0-729,324} that was originally added here
03-31 05:32:39.765: E/WindowManager(1468):  at android.view.ViewRootImpl.<init>(ViewRootImpl.java:346)
03-31 05:32:39.765: E/WindowManager(1468):  at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:248)
03-31 05:32:39.765: E/WindowManager(1468):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
03-31 05:32:39.765: E/WindowManager(1468):  at android.app.Dialog.show(Dialog.java:286)
03-31 05:32:39.765: E/WindowManager(1468):  at com.odoo.addons.stock.InternalShipment$StockLoader.onPreExecute(InternalShipment.java:341)
03-31 05:32:39.765: E/WindowManager(1468):  at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:587)
03-31 05:32:39.765: E/WindowManager(1468):  at android.os.AsyncTask.execute(AsyncTask.java:535)
03-31 05:32:39.765: E/WindowManager(1468):  at com.odoo.addons.stock.InternalShipment.onCreate(InternalShipment.java:79)
03-31 05:32:39.765: E/WindowManager(1468):  at android.support.v4.app.Fragment.performCreate(Fragment.java:1437)

Due to recursive many2one fields in "stock.picking.type" and "stock.picking.type" on server side, the syncWithServer method is also going into loop with handleResultArray..... you can see there is toooo many log entries for syncWithServer and HandleResultArray. and the model names inside syncWithServer method are given below....


03-31 07:57:55.661: D/com.odoo.orm.OEHelper(1141): Model: stock.picking
03-31 07:57:55.717: D/com.odoo.orm.OEHelper(1141): Model: stock.move
03-31 07:57:55.773: D/com.odoo.orm.OEHelper(1141): Model: product.product
03-31 07:57:56.273: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:56.297: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:56.309: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:56.325: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:56.565: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:56.585: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:56.597: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:56.613: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:56.629: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:56.665: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:56.677: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:56.693: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:56.709: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:56.725: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:56.741: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:56.757: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:56.773: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:56.793: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:56.805: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:56.821: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:56.837: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:56.861: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:56.877: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:56.889: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:56.901: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:56.917: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:56.929: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:56.945: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:56.957: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:56.977: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:56.985: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:57.001: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:57.013: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:57.029: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:57.041: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:57.057: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:57.069: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:57.089: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:57.097: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:57.113: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:57.125: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:57.141: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:57.157: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:57.177: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:57.193: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:57.209: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:57.217: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:57.233: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:57.245: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:57.261: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:57.273: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:57.293: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse
03-31 07:57:57.305: D/com.odoo.orm.OEHelper(1141): Model: stock.picking.type
03-31 07:57:57.349: D/com.odoo.orm.OEHelper(1141): Model: stock.warehouse

Have you guys ever faced this kind of scenario? Can you guys provide a solution or guidance or any better alternative for this situation?

Thanks & regards,
Devang Pipaliya.

Problem Many2One of self inside V1.0

Hi,

I was just checking through the framework sync process, and what I found here is the many2one of the self is not working with v1.0 .

We have parent_id(company to which the partner(s) belongs) in res.partner class and so I have added parent_id in ResPartnerDB.java as :

        columns.add(new OEColumn("parent_id", "Partner Company", OEFields
                        .manyToOne(new ResPartnerDB(mContext))));

And I am getting them in logcat entries while the sync process is running, but at the end they are not getting store in res.partner Table on OdooQLite.db.

Is this a bug or do I need to follow some steps to get data of many2One of the self?

Any lights on this.

I will do thanks in advance.

android.view.WindowLeaked: Activity com.Odoo.MainActivity

I am using Odoo version 1 framework.
I am getting below text in my logcat every time I run my code ...
Can anyone help to understand the error ....

E/WindowManager(5485): android.view.WindowLeaked: Activity com.Odoo.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{529b31c4 G.E..... R.....ID 0,0-729,324} that was originally added here
E/WindowManager(5485): at android.view.ViewRootImpl.(ViewRootImpl.java:348)
E/WindowManager(5485): at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:248)
E/WindowManager(5485): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
E/WindowManager(5485): at android.app.Dialog.show(Dialog.java:286)
E/WindowManager(5485): at com.Odoo.base.account.AccountFragment$ConnectToServer.(AccountFragment.java:220)
E/WindowManager(5485): at com.Odoo.base.account.AccountFragment.goNext(AccountFragment.java:195)
E/WindowManager(5485): at com.Odoo.base.account.AccountFragment.onOptionsItemSelected(AccountFragment.java:169)
E/WindowManager(5485): at android.support.v4.app.Fragment.performOptionsItemSelected(Fragment.java:1568)
E/WindowManager(5485): at android.support.v4.app.FragmentManagerImpl.dispatchOptionsItemSelected(FragmentManager.java:1978)
E/WindowManager(5485): at android.support.v4.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:367)
E/WindowManager(5485): at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:1012)
E/WindowManager(5485): at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735)
E/WindowManager(5485): at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152)
E/WindowManager(5485): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
E/WindowManager(5485): at com.android.internal.view.menu.ActionMenuView.invokeItem(ActionMenuView.java:546)
E/WindowManager(5485): at com.android.internal.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:115)
E/WindowManager(5485): at android.view.View.performClick(View.java:4438)
E/WindowManager(5485): at android.view.View$PerformClick.run(View.java:18422)
E/WindowManager(5485): at android.os.Handler.handleCallback(Handler.java:733)
E/WindowManager(5485): at android.os.Handler.dispatchMessage(Handler.java:95)
E/WindowManager(5485): at android.os.Looper.loop(Looper.java:136)
E/WindowManager(5485): at android.app.ActivityThread.main(ActivityThread.java:5017)
E/WindowManager(5485): at java.lang.reflect.Method.invokeNative(Native Method)
E/WindowManager(5485): at java.lang.reflect.Method.invoke(Method.java:515)
E/WindowManager(5485): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
E/WindowManager(5485): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
E/WindowManager(5485): at dalvik.system.NativeStart.main(Native Method)
E/WindowManager(5485): android.view.WindowLeaked: Activity com.Odoo.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{529d3e54 G.E..... R.....ID 0,0-729,324} that was originally added here
E/WindowManager(5485): at android.view.ViewRootImpl.(ViewRootImpl.java:348)
E/WindowManager(5485): at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:248)
E/WindowManager(5485): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
E/WindowManager(5485): at android.app.Dialog.show(Dialog.java:286)
E/WindowManager(5485): at com.Odoo.base.login.Login$LoginUser.onPreExecute(Login.java:246)
E/WindowManager(5485): at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:587)
E/WindowManager(5485): at android.os.AsyncTask.execute(AsyncTask.java:535)
E/WindowManager(5485): at com.Odoo.base.login.Login.goNext(Login.java:219)
E/WindowManager(5485): at com.Odoo.base.login.Login.access$0(Login.java:204)
E/WindowManager(5485): at com.Odoo.base.login.Login$1.onEditorAction(Login.java:126)
E/WindowManager(5485): at android.widget.TextView.doKeyDown(TextView.java:5461)
E/WindowManager(5485): at android.widget.TextView.onKeyDown(TextView.java:5343)
E/WindowManager(5485): at android.view.KeyEvent.dispatch(KeyEvent.java:2640)
E/WindowManager(5485): at android.view.View.dispatchKeyEvent(View.java:7665)
E/WindowManager(5485): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1408)
E/WindowManager(5485): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1408)
E/WindowManager(5485): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1408)
E/WindowManager(5485): at android.widget.ScrollView.dispatchKeyEvent(ScrollView.java:358)
E/WindowManager(5485): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1408)
E/WindowManager(5485): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1408)
E/WindowManager(5485): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1408)
E/WindowManager(5485): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1408)
E/WindowManager(5485): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1408)
E/WindowManager(5485): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1408)
E/WindowManager(5485): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1408)
E/WindowManager(5485): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchKeyEvent(PhoneWindow.java:2035)
E/WindowManager(5485): at com.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1505)
E/WindowManager(5485): at android.app.Activity.dispatchKeyEvent(Activity.java:2418)
E/WindowManager(5485): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1962)
E/WindowManager(5485): at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:3852)
E/WindowManager(5485): at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3826)
E/WindowManager(5485): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3399)
E/WindowManager(5485): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3449)
E/WindowManager(5485): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3418)
E/WindowManager(5485): at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3525)
E/WindowManager(5485): at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3426)
E/WindowManager(5485): at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3582)
E/WindowManager(5485): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3399)
E/WindowManager(5485): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3449)
E/WindowManager(5485): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3418)
E/WindowManager(5485): at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3426)
E/WindowManager(5485): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3399)
E/WindowManager(5485): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3449)
E/WindowManager(5485): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3418)
E/WindowManager(5485): at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3558)
E/WindowManager(5485): at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:3718)
E/WindowManager(5485): at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:2010)
E/WindowManager(5485): at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:1704)
E/WindowManager(5485): at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:1695)
E/WindowManager(5485): at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:1987)
E/WindowManager(5485): at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:141)
E/WindowManager(5485): at android.os.MessageQueue.nativePollOnce(Native Method)
E/WindowManager(5485): at android.os.MessageQueue.next(MessageQue

framwork tutorial

Hi every one,
Is there any documentation or tutorial for the framework ?

Error :: SQLiteOpenHelper getDatabaseLocked(SQLiteOpenHelper.java:224)

I am getting this warning so many times I run my code from eclipse:
" A SQLiteConnection object for database '/data/data/com.Odoo/databases/OdooSQLite.db' was leaked! Please fix your application to end transactions in progress properly and to close the database when it is no longer needed. "

And the below error also::
FATAL EXCEPTION: AsyncTask
Process: com.Odoo, PID: 2111
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:300)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
Caused by: java.lang.NullPointerException
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:224)
at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:188)
at com.Odoo.orm.OEDatabase.select(OEDatabase.java:484)
at com.Odoo.orm.OEDatabase.select(OEDatabase.java:460)
at com.Odoo.addons.incomingShipment.IncomingShipment$ShipmentLoader.doInBackground(IncomingShipment.java:111)
at com.Odoo.addons.incomingShipment.IncomingShipment$ShipmentLoader.doInBackground(IncomingShipment.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
... 4 more

Any help for the Warning and the error?
Does the error occure because of that warning?

I got this error when impliment GCM.

com.xxx E/BroadcastReceiver﹕ BroadcastReceiver trying to return result during a non-ordered broadcast
java.lang.RuntimeException: BroadcastReceiver trying to return result during a non-ordered broadcast
        at android.content.BroadcastReceiver.checkSynchronousHint(BroadcastReceiver.java:783)
        at android.content.BroadcastReceiver.setResult(BroadcastReceiver.java:658)
        at com.google.android.gcm.GCMBroadcastReceiver.onReceive(GCMBroadcastReceiver.java:49)
        at android.app.ActivityThread.handleReceiver(ActivityThread.java:2434)
        at android.app.ActivityThread.access$1700(ActivityThread.java:139)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1286)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5086)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
        at dalvik.system.NativeStart.main(Native Method)

didn't find the R file

hi, please I found a problem in this framwork, the R file isn't generated
kind regards

login with 2 different database problem

first login is Ok ... but nothing load when add account with different database that exist on server , by clear data its work again!
anybody help? thanks.

Sign in to localhost

Hi everyone, I'm new in both Odoo mobile and Android.
Before, I used "website" and "website_sale" module in Odoo 8 to make a website to receive orders from customers. And now I'm building a mobile application (an e-commerce application, not a management tool) with the same function. All is done in localhost:8069.
Can anyone suggest me how to connect with localhost? And am I possible to build this mobile application with Odoo mobile framework?

Thank you guys so much for reading. Hope anyone can give me a helping hand.

IllegalStateException:Fragment already active

Using fragments with bundle and adding them to the backstate eventually causes that error because, in the OFragmentUtils class, the method starFragment() tries to use fragment.setArguments() BEFORE check if the fragment is still active.

Cannot fetch partner from server

Hi, I deployed odoo-mobile. After login, I cannot see any customer that has already in odoo. In my odoo server, I've create Sales Order also. Unfortunately, customer still cannot sync from server. I think I face same problem with issue #60. As info, I'm using odoo 8 and odoo mobile v2. Can someone guide me whats wrong or am I miss something? Thank you.

Bug in Partner syncing for database created without demo data

Hi,

I've created new database without selecting "Load demonstration data" option. After the successful setup of the database, I've added few records in the "Contact" screen without adding any State or Country information for those records.

Now I've logged inside the Odoo mobile app with that database, but it somehow not recognizing any records which I've added in the contact screen. After some debugging I found that if I add any State or Country information in any record then it that record is getting fetched successfully by the Odoo mobile framework.

I think this is the major bug in the framework and it will create issues to use the Odoo mobile framework for the database which are in the production environment.

Please help us to resolve this issue ASAP. Looking forward to your revert.

Thanks,
Parul

Issue With *OneToMany* Handling

Hi,

Following the "Lead" example given at http://mobile.openerp.co.in/developing-first-app/index.html .
I tried creating a demo app and found OneToMany not working particularly in case of delivery order (stock.picking.out)
that has a OneToMany Column "move_lines" connecting it to "stock.move" (picking_id).

Following are the cases that I observed in the master branch.

  • If one defines the column as "oneToMany" insertion while synching fails. Since column is not being created by the SQLHelper.java.
  • If I modify SQLHelper.java to add the column if in case it is defined as "oneToMany" then while retrieving throws an exception.
    Since, it tries to follow a convention of retrieving the column.

I have looked at master branch. Let me know if the code is there on any other branch.

Let me know if I could help anyways

Regards
Mohit Thakral

listview malfunctioning with v1

In the list view there is textview, button and edittext in the single list item.
And all the items are getting generated dynamically
sometimes 3 sometimes 7 sometimes 14 ...

If I put values in those edittext ... I am able to et values of 6 or less edittext ... In the device Genymotion with 4.7" with visible item on screen are 6 and 7th partial...
While in the 10" genymotin, the visible items are 9

How to get values from the all the edittext from this dynamic listview?

final list

..........

public class DeliveryDetailFinal extends BaseFragment {

    Integer mPickingId = null;
    Integer mLineSize = null;
    LinkedHashMap<String, String> productData = new LinkedHashMap<String, String>();
    List<Object> moveLinesfinalData;
    View mDOViewFinal = null;
    ListView mMoveLinesFinalListDo = null;
    Context mDBContextDDF = null;
    List<OEDataRow> moveLinesData;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        setHasOptionsMenu(true);
        mDOViewFinal = inflater.inflate(R.layout.fragment_delivery_order_detail_final_view,
                container, false);
        Bundle bundle = getArguments();
        if (bundle != null) {
            mLineSize = bundle.getInt("lineSize");
        }
        init();
        mDODHelper = db().getOEInstance();
        mDBContextDDF = (Context) getActivity();
        return mDOViewFinal;
    }

    private void init(){
            initControls();
    }

    private void initControls(){
        moveLinesData = mDeliveryOrderData.getO2MRecord("move_lines").browseEach();
        mMoveLinesFinalListDo = (ListView) mDOViewFinal.findViewById(R.id.DOMoveLinesFinal);
        moveLinesfinalData = new ArrayList<Object>();
        moveLinesfinalData.addAll(moveLinesData);
        OEListAdapter listAdapter = new OEListAdapter(mDBContextDDF, R.layout.fragment_final_details_view, moveLinesfinalData){
            @Override
              public View getView(int position, View convertView, ViewGroup parent) {
                  View mView = convertView;
                  if (mView == null)
                      mView = getActivity().getLayoutInflater().inflate(
                              getResource(), parent, false);
                  mView = createListViewRow(mView, position, moveLinesfinalData); 
                  mView.setVisibility(1);
                  return mView;
              }
        };
        mMoveLinesAdapterfinal = listAdapter;
        Log.d("final", "final  mMoveLinesAdapterfinal "+mMoveLinesAdapterfinal);
        mMoveLinesFinalListDo.setAdapter(mMoveLinesAdapterfinal);
    }

    public View createListViewRow(View mView, int position,
            List<Object> moveLinesObjectData) {
            final OEDataRow row = (OEDataRow) moveLinesObjectData.get(position);
        TextView eProductName = (TextView) mView.findViewById(R.id.textViewProductNameFinal);
        eProductName.setText(row.getString("name").toString());
        LinearLayout innerLinearLayout = (LinearLayout) mView.findViewById(R.id.innerLinearLayout);
        EditText editTextProductId = (EditText) innerLinearLayout.findViewById(R.id.editTextProductId);
        if(row != null)
            editTextProductId.setText(row.getInt("id").toString());

        EditText eProductSerial = (EditText) innerLinearLayout.findViewById(R.id.editTextProductSerialFinal);

        String id = editTextProductId.getText().toString();
        String serialNumber = ((EditText) eProductSerial).getText().toString();
        productData.put(id,serialNumber);

        Log.d("final", "final productData before "+productData);
        eProductSerial.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            public void onFocusChange(View v, boolean hasFocus) {
               if (!hasFocus)
                {
                    LinearLayout parentLayout = (LinearLayout) v.getParent();
                    if(parentLayout != null) {
                        EditText editTextProductIdFocus = (EditText) parentLayout.findViewById(R.id.editTextProductId);
                        String id = editTextProductIdFocus.getText().toString();
                        String serialNumber = ((EditText) v).getText().toString();
                        productData.put(id,serialNumber);
                    }
                }
            }
        });
            final Button BarCode = (Button) innerLinearLayout.findViewById(R.id.buttonBarcode);
            BarCode.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    v.getId();
                }
            });
        return mView;
    }

    @Override
    public Object databaseHelper(Context context) {
        return new StockPickingDB(context);
    }
}

please help me ... Thanks in advance ...

Update data on server

Hello. I'm working with that framework but I have a problem. I don't know how can I update on the server my new values when I edit and save it on a form.

New values are saved on local database but not in the server.

Any help or tutorial? Thanks.

App not compatible with android 4.1.2

As i saw on the minsdk is 14, this should be for 4.0 and higher, but i cant make it work on 4.1.2 or any other beside 4.4
This is working as intented? If so, please change the minsdk value.
Regards.

How to setup this in ADT properly?

Hi there,

I also posted on the messaging side too. Tried with the library example, didn't work either.

Is there any guides on how-to setup the source codes for Messaging or the base framework properly on Android Development Tool (ADT)?

I have tried this, but keep getting this error:
"Unfortunately, Odoo has stopped"

Probably I didn't do the right way. Any tips? Thanks.

Two Content-Type headers in HTTP Request

POST /web/webclient/version_info HTTP/1.1
Content-Length: 52
Content-Type: text/plain; charset=UTF-8
Content-Type: application/json
Host: 192.168.1.204:8072
Connection: Keep-Alive
User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4)

{"id":1,"jsonrpc":"2.0","method":"call","params":{}}

The request was captured under the lasted version 66d2527 and early v2 version.

I didn't found the issue since I run my server by the uwsgi with nginx.
I'm not sure is it right, since the RFC7230 says it could be multiple headers with same name for unusual case.
The werkzeug and nginx_uwsgi choose the opposite content-type value. Unluckily, the nginx_uwsgi case makes the server a 500 ERROR.

The two Content-Type headers may be generated by the odoo.jar.

Is the two content-type significant or we SHOULD keep one content-type header better, since the different HTTP "server" handlers differently.

pls help

sir i am right now new in this framwork ..pls give me one simple full program for practice...to retrive..data from Odoo..
thanks a lot

How to get data from ManyToMany field

Hello everybody,

please help me, how to get data from ManyToMany field.

Ex: in CalendarEvent.java,
OColumn partner_ids = new OColumn("Attendees", ResPartner.class, OColumn.RelationType.ManyToMany);

Then in CalendarDashboard.java,
public Loader onCreateLoader(int id, Bundle data) {
...
where += "and (partner_ids in ?)";
...
}
=> crash, because partner_ids no such column

Any help please ?

Starting the application got this error in background

E/ActivityThread﹕ Service com.android.email.service.EmailBroadcastProcessorService has leaked ServiceConnection com.android.emailcommon.service.al@422bb708 that was originally bound here
android.app.ServiceConnectionLeaked: Service com.android.email.service.EmailBroadcastProcessorService has leaked ServiceConnection com.android.emailcommon.service.al@422bb708 that was originally bound here
at android.app.LoadedApk$ServiceDispatcher.(LoadedApk.java:979)
at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:873)
at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1690)
at android.app.ContextImpl.bindService(ContextImpl.java:1673)
at android.content.ContextWrapper.bindService(ContextWrapper.java:517)
at com.android.emailcommon.service.aj.a(SourceFile:181)
at com.android.emailcommon.service.aj.e(SourceFile:224)
at com.android.email.service.n.c(SourceFile:164)
at com.android.email.provider.b.a(SourceFile:189)
at com.android.email.provider.b.a(SourceFile:133)
at com.android.email.service.EmailBroadcastProcessorService.c(SourceFile:329)
at com.android.email.service.EmailBroadcastProcessorService.onHandleIntent(SourceFile:1438)
at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.os.HandlerThread.run(HandlerThread.java:61)

What can Odoo-mobile do?

Hi,
May I ask a few questions:

1- Are there any tutorials for the ORM?
2- Can I use Python to create mobile modules?
3- What mobile modules are produced using this framework?

Thanks

Problem callMethod

hello everybody!
With framework 3.0 : in framework-master\app\src\main\java\com\odoo\base\addons\res\ResUsers.java.
I implement method :

public static JSONArray get_child_partner(Context context, int user_id) {
ResUsers users = new ResUsers(context, null);
ServerDataHelper serverDataHelper = users.getServerDataHelper();
OArguments loc = new OArguments();
loc.add(user_id);
loc.add(new JSONObject());
JSONArray jsonArray = (JSONArray) serverDataHelper.callMethod("get_child_partner", loc, null);
return jsonArray;
}

Then I was called it in framework-master\app\src\main\java\com\odoo\addons\customers\Customers.java

as: ResUsers.get_child_partner(getActivity(),user_id);

=>> crash

07-15 17:18:43.826 30338-30338/com.odoo E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NullPointerException
at com.odoo.core.orm.ServerDataHelper.callMethod(ServerDataHelper.java:123)
at com.odoo.core.orm.ServerDataHelper.callMethod(ServerDataHelper.java:114)
at com.odoo.core.orm.ServerDataHelper.callMethod(ServerDataHelper.java:105)
at com.odoo.base.addons.res.ResUsers.get_child_partner(ResUsers.java:77)
at com.odoo.addons.customers.Customers.onViewCreated(Customers.java:101)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:973)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1138)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:740)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1501)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:458)
at android.os.Handler.handleCallback(Handler.java:800)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5371)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)

please help me !!!

Why your sample addon idea never runs out of box

The framework's one and only inbuilt addon "idea", which showcases the features and functionalities of the framework DOES NOT RUN.
Why is it a consistent issue in every framework ?
Don't You guys even test, before releasing it.

Adding new record in Any of Library Menu crashes the app.

Note: It there is any prerequisite to run this app like installing a module in openerp server, or something like that, then please mention it somewhere with that module attached.

On odoo-rpc-v3 when I call the installedOnServer method I get an exception

Now, when I try to query the server for a module's existance I get a null pointer exception inside the library. Here is the stack trace:

08-24 02:23:37.202: E/AndroidRuntime(2040): Caused by: java.lang.NullPointerException
08-24 02:23:37.202: E/AndroidRuntime(2040): at odoo.wrapper.OdooWrapper.installedOnServer(OdooWrapper.java:892)
08-24 02:23:37.202: E/AndroidRuntime(2040): at com.[].util.RemoteModelCheck.moduleExists(RemoteModelCheck.java:13)
08-24 02:23:37.202: E/AndroidRuntime(2040): at com.[].Dashboard.onCreate(Dashboard.java:52)
08-24 02:23:37.202: E/AndroidRuntime(2040): at android.support.v4.app.Fragment.performCreate(Fragment.java:1481)
08-24 02:23:37.202: E/AndroidRuntime(2040): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:908)
08-24 02:23:37.202: E/AndroidRuntime(2040): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1121)
08-24 02:23:37.202: E/AndroidRuntime(2040): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
08-24 02:23:37.202: E/AndroidRuntime(2040): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1484)
08-24 02:23:37.202: E/AndroidRuntime(2040): at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:571)
08-24 02:23:37.202: E/AndroidRuntime(2040): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171)
08-24 02:23:37.202: E/AndroidRuntime(2040): at android.app.Activity.performStart(Activity.java:5241)
08-24 02:23:37.202: E/AndroidRuntime(2040): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2157)
08-24 02:23:37.202: E/AndroidRuntime(2040): ... 11 more

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.