2011-05-24 69 views
0

所以我有兩個自定義模塊。它們是一對多相關的。 模塊A vardef具有:` 'lm_contacts'=>自定義模塊子面板

array(
    'name' => 'lm_contacts', 
    'type' => 'link', 
    'relationship' => 'lm_contacts_relation', 
    'source' => 'non-db', 
    'vname' => 'LBL_LEADS', 
), 

'relationships' => 
array (
     'lm_contacts_relation' => 
     array (
      'lhs_module' => 'LM_LM_Objektas', 
      'lhs_table' => 'lm_lm_objektas', 
      'lhs_key' => 'id', 
      'rhs_module' => 'LM_LM_contact_person', 
      'rhs_table' => 'lm_lm_contact_person', 
      'rhs_key' => 'lm_object ', 
      'relationship_type' => 'one-to-many', 
     ), 
    ), 

和模塊具有subpaneldef:

$layout_defs['LM_LM_Objektas'] = array(
// list of what Subpanels to show in the DetailView 
    'subpanel_setup' => 
    array(
     'lm_contacts' => 
     array(
      'order' => 10, 
      'module' => 'LM_LM_contact_person', 
      'subpanel_name' => 'default', 
      'sort_order' => 'asc', 
      //'sort_by' => 'id', 
      'title_key' => 'LBL_CONTACT_SUBPANEL_TITLE', 
      'get_subpanel_data' => 'lm_contacts', 
      'add_subpanel_data' => 'lm_contacts_id', 
      'top_buttons' => 
      array (
       0 => 
       array (
        'widget_class' => 'SubPanelTopButtonQuickCreate', 
       ), 
       1 => 
       array (
        'widget_class' => 'SubPanelTopSelectButton', 
        'mode' => 'MultiSelect', 
        'popup_module' => 'LM_LM_contact_person', 
       ), 
      ), 
     ), 
), 
); 

查閱模塊A:lm_objectas確實顯示子面板corectly,但是當我嘗試添加新reqord到lm_contacts模塊槽子面板快速創建按鈕,記錄確實創建,但沒有創建字段「'rhs_key'=>'lm_object'」的相關數據。所以自然不會有新的記錄顯示在子面上。 我缺少什麼? 謝謝!

+0

所以,如果你去其他模塊的非快速創建,你有選擇設置關係到第一個模塊,如果是這樣,做那些顯示在第一個模塊的子面板? – Anthony 2011-05-25 21:06:53

回答

0

很抱歉的響應晚了,但我可以這樣解釋:

你沒有做錯什麼,這是我在Sugar發現一個bug ....

爲什麼記錄從創建的原因快速創建與您正在使用的活動記錄相關,因爲快速創建按鈕具有隱藏表單,當前記錄的標識映射到子面板模塊用於該關係的字段。但是,當您創建自定義模塊時,快速創建會假定相關字段爲「moduleA_moduleB_id」,它是Sugar的庫存模塊。但是,當您在Sugar中創建自定義模塊時,它會截斷所有關係字段(在Bean和數據庫中),以使它們不超過25個字符。

長話短說,快速創建代碼假定連接兩者的字段與庫存模塊關係具有相同的約定,這是錯誤的。

在沒有修復代碼(或等待Sugar的錯誤修復)的情況下避免這種情況的唯一方法是確保您的自定義模塊的名稱少於10個字符,包括放在前面的關鍵字(如此真的應該是5-6個字符)。

我更新了我自己安裝的Sugar中的代碼並報告了錯誤。它可能在下一次更新中得到修復。

我會解釋如何解決它在你的股票實例,但恐怕只會混淆更多的事情。但是,讓我知道如果你仍然需要解決這個問題,我會發布實際的代碼。

+0

你有這個問題的解決方法嗎?或者是否有在http://bugs.sugarcrm.com上報告的錯誤? – jmertic 2011-09-14 00:57:27