~magentoerpconnect-community/magentoerpconnect/magento-module-with-crm_claim-integration

« back to all changes in this revision

Viewing changes to Openlabs_OpenERPConnector-1.1.0/Openlabs/OpenERPConnector/Model/Olcatalog/Product/Attributegroup.php

  • Committer: Sharoon Thomas
  • Date: 2009-09-07 11:55:34 UTC
  • Revision ID: sharoonthomas@teagarden.in-20090907115534-yjqt1s2ii98jsn60
[ADD]AttributeĀ GroupsĀ API

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
 
 
3
 
 
4
/**
 
5
 * @author Sharoon Thomas
 
6
 * Inspired from Dieter's Magento Extender
 
7
 * @copyright 2009
 
8
 */
 
9
 
 
10
class Openlabs_OpenERPConnector_Model_Olcatalog_Product_Attributegroup extends Mage_Catalog_Model_Api_Resource {
 
11
        public function items($setId = null)
 
12
        {
 
13
                $groups = Mage::getModel('eav/entity_attribute_group')->getResourceCollection();
 
14
                
 
15
                if(!is_null($setId) && !empty($setId) && is_numeric($setId))
 
16
                {
 
17
                        $groups->setAttributeSetFilter($setId);
 
18
                }
 
19
                
 
20
                $groups->load();
 
21
 
 
22
                $arrGroups = array();
 
23
                
 
24
                foreach($groups as $group)
 
25
                {
 
26
                        $arrGroups[] = array(
 
27
                                                                'attribute_group_id'    => $group->getAttributeGroupId(),
 
28
                                                                'attribute_set_id'              => $group->getAttributeSetId(),
 
29
                                                                'attribute_group_name'  => $group->getAttributeGroupName(),
 
30
                                                                'sort_order'                    => $group->getSortOrder(),
 
31
                                                                'default_id'                    => $group->getDefaultId()
 
32
                                                                );
 
33
                }
 
34
                
 
35
                return $arrGroups;
 
36
        }
 
37
        
 
38
        /*
 
39
        <param><value><string>cl19t0dqhmheafqc0ccdeejc76</string></value></param>
 
40
        <param><value><string>catalog_product_attribute_group.create</string></value></param>
 
41
        <param>
 
42
                <value>
 
43
                        <array>
 
44
                                <data>
 
45
                                        <value><i4>26</i4></value>
 
46
                                        <value><string>Leonelle</string></value>
 
47
                                </data>
 
48
                        </array>
 
49
                </value>
 
50
        </param>
 
51
        */
 
52
        public function create($setId, array $data)
 
53
        {
 
54
                try
 
55
                {
 
56
                        // $attrOption = Mage_Eav_Model_Entity_Attribute_Group
 
57
                        $attrOption = Mage::getModel("eav/entity_attribute_group");
 
58
                        
 
59
                        $attrOption->addData($data);
 
60
                        
 
61
                        // check if there already exists a group with the give groupname
 
62
                        if($attrOption->itemExists())
 
63
                        {
 
64
                                $this->_fault("group_already_exists");
 
65
                        }
 
66
                        
 
67
                        $attrOption->save();
 
68
                        
 
69
                        return (int)$attrOption->getAttributeGroupId();
 
70
                } 
 
71
                catch(Exception $ex)
 
72
                {
 
73
                        return false;
 
74
                }
 
75
        }
 
76
        /*
 
77
        <param><value><string>cl19t0dqhmheafqc0ccdeejc76</string></value></param>
 
78
        <param><value><string>catalog_product_attribute_group.update</string></value></param>
 
79
        <param>
 
80
                <value>
 
81
                        <array>
 
82
                                <data>
 
83
                                        <value><i4>85</i4></value>
 
84
                                        <value><string>Leonelle2</string></value>
 
85
                                        <value><i4>85</i4></value>
 
86
                                        <value><i4>85</i4></value>
 
87
                                </data>
 
88
                        </array>
 
89
                </value>
 
90
        </param>
 
91
        */
 
92
        public function update(array $data)
 
93
        {
 
94
                try
 
95
                {
 
96
                        // $attrOption = Mage_Eav_Model_Entity_Attribute_Group
 
97
                        $attrOption = Mage::getModel("eav/entity_attribute_group");
 
98
                        
 
99
                        $attrOption->load($data["attribute_group_id"]);
 
100
                        
 
101
                        // check if the requested group exists...
 
102
                        if(!$attrOption->getAttributeGroupId())
 
103
                        {
 
104
                                $this->_fault("group_not_exists");
 
105
                        }
 
106
                        
 
107
                        $attrOption->addData($data);
 
108
                        
 
109
                        $attrOption->save();
 
110
                        
 
111
                        return true;
 
112
                } 
 
113
                catch(Exception $ex)
 
114
                {
 
115
                        return false;
 
116
                }
 
117
        }
 
118
        
 
119
        /*
 
120
        <param><value><string>cl19t0dqhmheafqc0ccdeejc76</string></value></param>
 
121
        <param><value><string>catalog_product_attribute_group.delete</string></value></param>
 
122
        <param>
 
123
                <value>
 
124
                        <array>
 
125
                                <data>
 
126
                                        <value><i4>85</i4></value>
 
127
                                </data>
 
128
                        </array>
 
129
                </value>
 
130
        </param>
 
131
        */
 
132
        public function delete($groupId)
 
133
        {
 
134
                try
 
135
                {
 
136
                        // $attrOption = Mage_Eav_Model_Entity_Attribute_Group
 
137
                        $attrOption = Mage::getModel("eav/entity_attribute_group");
 
138
                        
 
139
                        $attrOption->load($groupId);
 
140
                        
 
141
                        // check if the requested group exists...
 
142
                        if(!$attrOption->getAttributeGroupId())
 
143
                        {
 
144
                                $this->_fault("group_not_exists");
 
145
                        }
 
146
                        
 
147
                        // save data
 
148
                        $attrOption->delete();
 
149
                        
 
150
                        return true;
 
151
                } 
 
152
                catch(Exception $ex)
 
153
                {
 
154
                        return false;
 
155
                }
 
156
        }
 
157
        
 
158
}
 
159
?>