Advertisement
Guest User

Untitled

a guest
Jun 1st, 2017
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 20.11 KB | None | 0 0
  1. datagrid:
  2.     dashboard-my-accounts-activity-grid:
  3.         source:
  4.             type: orm
  5.             acl_resource: orocrm_account_view
  6.             query:
  7.                 select:
  8.                    - a.id
  9.                     - a.name
  10.                     - defaultContactEmail.email as contactEmail
  11.                     - defaultContactPhone.phone as contactPhone
  12.                     - max(history.visitedAt) as visitDate
  13.                 from:
  14.                     - { table: %orocrm_account.account.entity.class%, alias: a }
  15.                 join:
  16.                     left:
  17.                         - { join: a.defaultContact, alias: defaultContact }
  18.                         - { join: defaultContact.emails, alias: defaultContactEmail, conditionType: 'WITH', condition: 'defaultContactEmail.primary = true' }
  19.                         - { join: defaultContact.phones, alias: defaultContactPhone, conditionType: 'WITH', condition: 'defaultContactPhone.primary = true' }
  20.                     inner:
  21.                        -
  22.                             join: Oro\Bundle\NavigationBundle\Entity\NavigationHistoryItem
  23.                             alias: history
  24.                             conditionType: WITH
  25.                             condition: "a.id=history.entityId AND history.route='orocrm_account_view'"
  26.                 where:
  27.                     and:
  28.                      - history.user = @oro_security.security_facade->getLoggedUserId
  29.                 groupBy: a.id, a.name, contactEmail, contactPhone
  30.                 orderBy:
  31.                     - column: visitDate
  32.                       dir: desc
  33.         sorters:
  34.             visitDate: { history.: %oro_datagrid.extension.orm_sorter.class%::DIRECTION_DESC }
  35.         columns:
  36.             name:
  37.                 type: twig
  38.                 label: orocrm.account.name.label
  39.                 frontend_type: html
  40.                 template: OroCRMAccountBundle:Account:Datagrid/Property/accountName.html.twig
  41.             contactEmail:
  42.                 label: orocrm.contact.contactemail.email.label
  43.             contactPhone:
  44.                 label: orocrm.contact.contactphone.phone.label
  45.                 frontend_type: phone
  46.         options:
  47.             entityHint: account
  48.             toolbarOptions:
  49.                 hide: true
  50.                 pageSize:
  51.                     items: [10]
  52.                     default_per_page: 10
  53.  
  54.     accounts-grid:
  55.         extended_entity_name: %orocrm_account.account.entity.class%
  56.         source:
  57.             type:          orm
  58.             acl_resource:  orocrm_account_view
  59.             query:
  60.                 select:
  61.                    - a.id
  62.                     - a.mp_venue_id as venueId
  63.                     - a.name
  64.                     - a.mp_chain as chain
  65.                     - a.mp_brand as brand
  66.                     - CONCAT(areaManager.firstName, ' ', areaManager.lastName) as areaManagerName
  67.                     - CONCAT(defaultContact.firstName, ' ', defaultContact.lastName) as contactName
  68.                     - defaultContactEmail.email as contactEmail
  69.                     - defaultContactPhone.phone as contactPhone
  70.                     - CONCAT(accountOwner.firstName, ' ', accountOwner.lastName) as ownerName
  71.                     - A.active
  72.                 from:
  73.                     - { table: %orocrm_account.account.entity.class%, alias: a }
  74.                 join:
  75.                     left:
  76.                         - { join: a.defaultContact, alias: defaultContact }
  77.                         - { join: defaultContact.emails, alias: defaultContactEmail, conditionType: 'WITH', condition: 'defaultContactEmail.primary = true' }
  78.                         - { join: defaultContact.phones, alias: defaultContactPhone, conditionType: 'WITH', condition: 'defaultContactPhone.primary = true' }
  79.                         - { join: a.owner, alias: accountOwner }
  80.                         - { join: a.areaManager, alias: areaManager}
  81.         properties:
  82.             id: ~
  83.             view_link:
  84.                 type:      url
  85.                 route:     orocrm_account_view
  86.                 params:    [ id ]
  87.             update_link:
  88.                 type:      url
  89.                 route:     orocrm_account_update
  90.                 params:    [ id ]
  91.             delete_link:
  92.                 type:      url
  93.                 route:     oro_api_delete_account
  94.                 params:    [ id ]
  95.         columns:
  96.             venueId:
  97.                 label:        orocrm.account.venueId.label
  98.             name:
  99.                 label:        orocrm.account.name.label
  100.             chain:
  101.                 label:        orocrm.account.chain.label
  102.             brand:
  103.                 label:        orocrm.account.brand.label
  104.             areaManagerName:
  105.                 label:        orocrm.account.areaManagerName.label
  106.             contactName:
  107.                 label:        orocrm.account.contact.name
  108.             contactEmail:
  109.                 label:        orocrm.account.contact.email
  110.             contactPhone:
  111.                 label:        orocrm.account.contact.phone
  112.                 frontend_type: phone
  113.             ownerName:
  114.                 label:        orocrm.account.owner.label
  115.             active:
  116.                 label:        orocrm.account.active.label
  117.         sorters:
  118.             columns:
  119.                 venueId:
  120.                     data_name: venueId
  121.                 name:
  122.                     data_name: a.name
  123.                 chain:
  124.                     data_name: chain
  125.                 brand:
  126.                     data_name: brand
  127.                 areaManagerName:
  128.                     data_name: areaManagerName
  129.                 contactName:
  130.                     data_name: contactName
  131.                 contactEmail:
  132.                     data_name: contactEmail
  133.                 contactPhone:
  134.                     data_name: contactPhone
  135.                 ownerName:
  136.                     data_name: ownerName
  137.         filters:
  138.             columns:
  139.                 venueId:
  140.                     type:     number
  141.                     data_name: venueId
  142.                 name:
  143.                     type:     string
  144.                     data_name: a.name
  145.                 chain:
  146.                     type:     string
  147.                     data_name: chain
  148.                 brand:
  149.                     type:     string
  150.                     data_name: brand
  151.                 areaManagerName:
  152.                     type:     string
  153.                     data_name: areaManagerName
  154.                 contactName:
  155.                     type:     string
  156.                     data_name: contactName
  157.                 contactEmail:
  158.                     type:     string
  159.                     data_name: contactEmail
  160.                 contactPhone:
  161.                     type:     string
  162.                     data_name: contactPhone
  163.                 ownerName:
  164.                     type:     string
  165.                     data_name: ownerName
  166.                 active:
  167.                     type: number
  168.                     data_name: active
  169.             default:
  170.                 active:
  171.                     value: 1
  172.         actions:
  173.             view:
  174.                 type:         navigate
  175.                 acl_resource: orocrm_account_view
  176.                 label:        oro.grid.action.view
  177.                 icon:         eye-open
  178.                 link:         view_link
  179.                 rowAction:    true
  180.             update:
  181.                 type:         navigate
  182.                 acl_resource: orocrm_account_update
  183.                 label:        oro.grid.action.update
  184.                 icon:         edit
  185.                 link:         update_link
  186.             delete:
  187.                 type:         delete
  188.                 acl_resource: orocrm_account_delete
  189.                 label:        oro.grid.action.delete
  190.                 icon:         trash
  191.                 link:         delete_link
  192.         mass_actions:
  193.             task:
  194.                 type: ajax
  195.                 frontend_type: task-mass
  196.                 handler: none
  197.                 entity_name: %orocrm_account.account.entity.class%
  198.                 data_identifier: a.id
  199.                 label: orocrm.task.add_entity
  200.                 icon: tasks
  201.             notification:
  202.                 type: ajax
  203.                 frontend_type: notification-mass
  204.                 handler: none
  205.                 entity_name: %orocrm_account.account.entity.class%
  206.                 data_identifier: a.id
  207.                 label: orocrm.notification.send
  208.                 icon: flag
  209.         options:
  210.             entityHint: account
  211.             export: true
  212.             entity_pagination: true
  213.  
  214.     base-account-contacts-grid:
  215.         extended_entity_name: %orocrm_contact.entity.class%
  216.         source:
  217.             type: orm
  218.             acl_resource: orocrm_contact_view
  219.             query:
  220.                 select:
  221.                    - c.id
  222.                     - c.lastName
  223.                     - c.firstName
  224.                     - contactSource.label as contactSourceLabel
  225.                     - email.email as primaryEmail
  226.                     - phone.phone as primaryPhone
  227.                     - CONCAT(CASE WHEN address.regionText IS NOT NULL THEN address.regionText ELSE region.name END, '') as regionLabel
  228.                     - country.name as countryName
  229.                     - address.postalCode as addressPostalCode
  230.                 from:
  231.                     - { table: %orocrm_contact.entity.class%, alias: c }
  232.                 join:
  233.                     left:
  234.                         - { join: c.addresses, alias: address, conditionType: WITH, condition: 'address.primary = true' }
  235.                         - { join: c.emails, alias: email, conditionType: WITH, condition: 'email.primary = true' }
  236.                         - { join: c.phones, alias: phone, conditionType: WITH, condition: 'phone.primary = true' }
  237.                         - { join: c.groups, alias: contactGroup }
  238.                         - { join: c.source, alias: contactSource }
  239.                         - { join: address.country, alias: country }
  240.                         - { join: address.region, alias: region }
  241.         sorters:
  242.             columns:
  243.                 first_name:
  244.                     data_name: c.firstName
  245.                 last_name:
  246.                     data_name: c.lastName
  247.                 primaryEmail:
  248.                     data_name: email.email
  249.                 primaryPhone:
  250.                     data_name: phone.phone
  251.                 countryName:
  252.                     data_name: country.name
  253.                 regionLabel:
  254.                     data_name: regionLabel
  255.                 addressPostalCode:
  256.                     data_name: address.postalCode
  257.             default:
  258.                 lastName: ASC
  259.         options:
  260.             entityHint: contact
  261.  
  262.     account-contacts-update-grid:
  263.         extends: base-account-contacts-grid
  264.         source:
  265.             query:
  266.                 select:
  267.                    - >
  268.                         (CASE WHEN (:account IS NOT NULL) THEN
  269.                           CASE WHEN (:account MEMBER OF c.accounts OR c.id IN (:data_in)) AND c.id NOT IN (:data_not_in)
  270.                           THEN true ELSE false END
  271.                         ELSE
  272.                           CASE WHEN c.id IN (:data_in) AND c.id NOT IN (:data_not_in)
  273.                           THEN true ELSE false END
  274.                         END) as hasContact
  275.             bind_parameters:
  276.                -
  277.                     name: account
  278.                     default: null
  279.         columns:
  280.             hasContact:
  281.                 label:  orocrm.account.assigned.label
  282.                 editable: true
  283.                 frontend_type: boolean
  284.             first_name:
  285.                 label: orocrm.contact.first_name.label
  286.                 data_name: firstName
  287.             last_name:
  288.                 label: orocrm.contact.last_name.label
  289.                 data_name: lastName
  290.             primaryEmail:
  291.                 label: orocrm.contact.email.label
  292.             primaryPhone:
  293.                 label: orocrm.contact.contactphone.phone.label
  294.                 frontend_type: phone
  295.             countryName:
  296.                 label: orocrm.contact.contactaddress.country.label
  297.             regionLabel:
  298.                 label: orocrm.contact.contactaddress.region.label
  299.             addressPostalCode:
  300.                 label: orocrm.contact.contactaddress.postal_code.label
  301.         properties:
  302.             id: ~
  303.         sorters:
  304.             columns:
  305.                 hasContact: { data_name: hasContact }
  306.             default:
  307.                 hasContact: DESC
  308.         filters:
  309.             columns:
  310.                 hasContact:
  311.                     data_name: hasContact
  312.                     type:     boolean
  313.                 first_name:
  314.                     type: string
  315.                     data_name: c.firstName
  316.                 last_name:
  317.                     type: string
  318.                     data_name: c.lastName
  319.                 primaryEmail:
  320.                     type: string
  321.                     data_name: email.email
  322.                 primaryPhone:
  323.                     type: string
  324.                     data_name: phone.phone
  325.                 countryName:
  326.                     type: entity
  327.                     data_name: address.country
  328.                     enabled: false
  329.                     options:
  330.                         field_options:
  331.                             class: OroAddressBundle:Country
  332.                             property: name
  333.                             query_builder: @orocrm_contact.contact.datagrid_helper->getCountryFilterQueryBuilder
  334.                             translatable_options: false
  335.                 regionLabel:
  336.                     type: string
  337.                     data_name: regionLabel
  338.                     enabled: false
  339.                 addressPostalCode:
  340.                     type: string
  341.                     data_name: addressPostalCode
  342.                     enabled: false
  343.         options:
  344.             routerEnabled: false
  345.             rowSelection:
  346.                 dataField: id
  347.                 columnName: hasContact
  348.                 selectors:
  349.                     included: '#appendContacts'
  350.                     excluded: '#removeContacts'
  351.  
  352.     accounts-select-grid:
  353.         extended_entity_name: %orocrm_account.account.entity.class%
  354.         source:
  355.             type:          orm
  356.             acl_resource:  orocrm_account_view
  357.             query:
  358.                 select:
  359.                    - a.id
  360.                     - a.name
  361.                     - CONCAT(defaultContact.firstName, CONCAT(' ', defaultContact.lastName)) as contactName
  362.                     - defaultContactEmail.email as contactEmail
  363.                     - defaultContactPhone.phone as contactPhone
  364.                     - CONCAT(accountOwner.firstName, CONCAT(' ', accountOwner.lastName)) as ownerName
  365.                 from:
  366.                     - { table: %orocrm_account.account.entity.class%, alias: a }
  367.                 join:
  368.                     left:
  369.                         - { join: a.defaultContact, alias: defaultContact }
  370.                         - { join: defaultContact.emails, alias: defaultContactEmail, conditionType: 'WITH', condition: 'defaultContactEmail.primary = true' }
  371.                         - { join: defaultContact.phones, alias: defaultContactPhone, conditionType: 'WITH', condition: 'defaultContactPhone.primary = true' }
  372.                         - { join: a.owner, alias: accountOwner }
  373.         properties:
  374.             id: ~
  375.         columns:
  376.             name:
  377.                 label:  orocrm.account.name.label
  378.             contactName:
  379.                 label:  orocrm.account.contact.name
  380.             contactEmail:
  381.                 label:  orocrm.account.contact.email
  382.             contactPhone:
  383.                 label:  orocrm.account.contact.phone
  384.                 frontend_type: phone
  385.             ownerName:
  386.                 label:  orocrm.account.owner.label
  387.         sorters:
  388.             columns:
  389.                 name:
  390.                     data_name: a.name
  391.                 contactName:
  392.                     data_name: contactName
  393.                 contactEmail:
  394.                     data_name: contactEmail
  395.                 contactPhone:
  396.                     data_name: contactPhone
  397.                 ownerName:
  398.                     data_name: ownerName
  399.         filters:
  400.             columns:
  401.                 name:
  402.                     type:     string
  403.                     data_name: a.name
  404.                 contactName:
  405.                     type:     string
  406.                     data_name: contactName
  407.                 contactEmail:
  408.                     type:     string
  409.                     data_name: contactEmail
  410.                 contactPhone:
  411.                     type:     string
  412.                     data_name: contactPhone
  413.                 ownerName:
  414.                     type:     string
  415.                     data_name: ownerName
  416.         options:
  417.             entityHint: account
  418.  
  419.     accounts-for-context-grid:
  420.         extended_entity_name: %orocrm_account.account.entity.class%
  421.         source:
  422.             type:          orm
  423.             acl_resource:  orocrm_account_view
  424.             query:
  425.                 select:
  426.                    - a.id
  427.                     - a.name
  428.                     - CONCAT(defaultContact.firstName, CONCAT(' ', defaultContact.lastName)) as contactName
  429.                     - defaultContactEmail.email as contactEmail
  430.                     - defaultContactPhone.phone as contactPhone
  431.                     - CONCAT(accountOwner.firstName, CONCAT(' ', accountOwner.lastName)) as ownerName
  432.                 from:
  433.                     - { table: %orocrm_account.account.entity.class%, alias: a }
  434.                 join:
  435.                     left:
  436.                         - { join: a.defaultContact, alias: defaultContact }
  437.                         - { join: defaultContact.emails, alias: defaultContactEmail, conditionType: 'WITH', condition: 'defaultContactEmail.primary = true' }
  438.                         - { join: defaultContact.phones, alias: defaultContactPhone, conditionType: 'WITH', condition: 'defaultContactPhone.primary = true' }
  439.                         - { join: a.owner, alias: accountOwner }
  440.         columns:
  441.             id:
  442.                 label:        orocrm.account.id.label
  443.             name:
  444.                 label:        orocrm.account.name.label
  445.             contactName:
  446.                 label:        orocrm.account.contact.name
  447.             contactEmail:
  448.                 label:        orocrm.account.contact.email
  449.             contactPhone:
  450.                 label:        orocrm.account.contact.phone
  451.                 frontend_type: phone
  452.             ownerName:
  453.                 label:        orocrm.account.owner.label
  454.         sorters:
  455.             columns:
  456.                 name:
  457.                     data_name: a.name
  458.                 contactName:
  459.                     data_name: contactName
  460.                 contactEmail:
  461.                     data_name: contactEmail
  462.                 contactPhone:
  463.                     data_name: contactPhone
  464.                 ownerName:
  465.                     data_name: ownerName
  466.         filters:
  467.             columns:
  468.                 name:
  469.                     type:     string
  470.                     data_name: a.name
  471.                 contactName:
  472.                     type:     string
  473.                     data_name: contactName
  474.                 contactEmail:
  475.                     type:     string
  476.                     data_name: contactEmail
  477.                 contactPhone:
  478.                     type:     string
  479.                     data_name: contactPhone
  480.                 ownerName:
  481.                     type:     string
  482.                     data_name: ownerName
  483.         options:
  484.             entityHint: account
  485.             entity_pagination: true
  486.             toolbarOptions:
  487.                 pageSize:
  488.                     default_per_page: 10
  489.             routerEnabled: false
  490. </pre>
  491.  
  492. I have also created a file bundles.yml under src/MatchPint/Bundle/DugoutBundleAccount/Resources/config/oro/ with the following content:
  493. <pre class="lang:php decode:true " >bundles:
  494.    -
  495.       name: MatchPint\Bundle\DugoutAccountBundle\MatchPintDugoutAccountBundle
  496.       priority: 100
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement