Merge branch '4.6-enable-button' of https://github.com/helenagarcia90/civicrm-core...
authorCiviCRM <info@civicrm.org>
Thu, 7 Jan 2016 23:32:20 +0000 (15:32 -0800)
committerCiviCRM <info@civicrm.org>
Thu, 7 Jan 2016 23:32:20 +0000 (15:32 -0800)
1  2 
ang/crmCxn/ManageCtrl.html
ang/crmCxn/ManageCtrl.js
api/v3/Cxn.php

index fa9b98adf227e36cc23a3700f19aafa9f39ab5bb,b8a84fa0d732b67570435f927d33890e05bbd4ad..b0cebeb97d8c09807cb6730b6269ad20144e9fd8
      </tr>
      </thead>
      <tbody>
 -    <tr ng-repeat="cxn in cxns  | orderBy:cxnOrder.get()">
 -      <td>{{cxn.app_meta.title}}</td>
 +    <tr ng-repeat="cxn in cxns  | orderBy:cxnOrder.get()" ng-class-even="'even-row even'" ng-class-odd="'odd-row odd'">
 +      <td>
 +        <a class="action-item"
 +           crm-confirm='{width: "65%", resizable: true, title:ts("%1: About", {1: cxn.app_meta.title}), templateUrl: "~/crmCxn/AboutCtrl.html", export: {appMeta: cxn.app_meta}}'
 +            >{{cxn.app_meta.title}}</a>
 +      </td>
        <td><div ng-bind-html="cxn.app_meta.desc"></div></td>
-       <td>{{cxn.is_active ? ts('Enabled') : ts('Disabled')}}</td>
+       <td>{{cxn.is_active=="1" ? ts('Enabled') : ts('Disabled')}}</td>
        <td>
 -        <a class="action-item crm-hover-button" ng-click="openLink(cxn.app_meta, 'settings', {title: ts('%1: Settings (External)', {1: cxn.app_meta.title})})" ng-show="cxn.app_meta.links.settings">{{ts('Settings')}}</a>
 -        <a class="action-item crm-hover-button" ng-click="toggleCxn(cxn)">{{ cxn.is_active=="1" ? ts('Disable') : ts('Enable')}}</a>
 -        <a class="action-item crm-hover-button" ng-click="openLink(cxn.app_meta, 'logs', {title: ts('%1: Logs (External)', {1: cxn.app_meta.title})})" ng-show="cxn.app_meta.links.logs">{{ts('Logs')}}</a>
 -        <a class="action-item crm-hover-button" ng-click="openLink(cxn.app_meta, 'docs', {title: ts('%1: Documentation (External)', {1: cxn.app_meta.title})})" ng-show="cxn.app_meta.links.docs">{{ts('Docs')}}</a>
 -        <a class="action-item crm-hover-button" ng-click="openLink(cxn.app_meta, 'support', {title: ts('%1: Support (External)', {1: cxn.app_meta.title})})" ng-show="cxn.app_meta.links.support">{{ts('Support')}}</a>
 -        <a class="action-item crm-hover-button"
 -           crm-confirm='{width: "65%", resizable: true, title: ts("Disconnect"), message: ts("Are you sure you want to disconnect \"%1?\". Doing so may permanently destroy data linkage.", {1: cxn.app_meta.title})}'
 -           on-yes="unregister(cxn.app_meta)"
 -          >{{ts('Disconnect')}}</a>
 +        <span>
-             <!--
-             <a class="action-item crm-hover-button" ng-click="toggleCxn(cxn)">{{cxn.is_active ? ts('Disable') : ts('Enable') }}</a>
-             -->
 +            <a class="action-item crm-hover-button" ng-click="openLink(cxn.app_meta, 'settings', {title: ts('%1: Settings (External)', {1: cxn.app_meta.title})})" ng-show="cxn.app_meta.links.settings">{{ts('Settings')}}</a>
 +            <span class="btn-slide crm-hover-button">{{ts('more')}}
 +              <ul class="panel" style="display: none;">
 +                <li ng-show="cxn.app_meta.links.logs">
 +                  <a class="action-item crm-hover-button" ng-click="openLink(cxn.app_meta, 'logs', {title: ts('%1: Logs (External)', {1: cxn.app_meta.title})})">
 +                    {{ts('Logs')}}
 +                  </a>
 +                </li>
 +                <li ng-show="cxn.app_meta.links.docs">
 +                  <a class="action-item crm-hover-button" ng-click="openLink(cxn.app_meta, 'docs', {title: ts('%1: Documentation (External)', {1: cxn.app_meta.title})})">
 +                    {{ts('Docs')}}
 +                  </a>
 +                </li>
 +                <li ng-show="cxn.app_meta.links.support">
 +                  <a class="action-item crm-hover-button" ng-click="openLink(cxn.app_meta, 'support', {title: ts('%1: Support (External)', {1: cxn.app_meta.title})})">
 +                    {{ts('Support')}}
 +                  </a>
 +                </li>
++                <li>
++                  <a class="action-item crm-hover-button" ng-click="toggleCxn(cxn)">{{ cxn.is_active=="1" ? ts('Disable') : ts('Enable')}}</a>
++                </li>
 +                <li>
 +                  <a class="action-item crm-hover-button"
 +                     crm-confirm='{width: "65%", resizable: true, title:ts("%1: Reconnect", {1: cxn.app_meta.title}), templateUrl: "~/crmCxn/ConfirmReconnectCtrl.html", export: {cxn: cxn, appMeta: findAppByAppId(cxn.app_guid)}}'
 +                     on-yes="reregister(cxn.app_meta)"
 +                      >{{ts('Reconnect')}}</a>
 +                </li>
 +                <li>
 +                  <a class="action-item crm-hover-button"
 +                     crm-confirm='{width: "65%", resizable: true, title: ts("%1: Disconnect", {1: cxn.app_meta.title}), message: ts("Are you sure you want to disconnect \"%1?\". Doing so may permanently destroy data linkage.", {1: cxn.app_meta.title})}'
 +                     on-yes="unregister(cxn.app_meta)">
 +                    {{ts('Disconnect')}}
 +                  </a>
 +                </li>
 +              </ul>
 +            </span>
 +
 +        </span>
        </td>
      </tr>
      </tbody>
Simple merge
diff --cc api/v3/Cxn.php
index a0809df98ebc2e725e03b52bfa849077f595c795,d769fbd4b1f2e10317f3a627e08db96cc0afb5ab..f082c4b4b89611b4cd94807f3789e6c320ebd8df
@@@ -247,30 -247,50 +247,79 @@@ function civicrm_api3_cxn_getlink($para
  }
  
  /**
 - * Creates or modifies a Cxn row
 + *
 + * @param array $params
 + * @return array
 + * @throws Exception
 + */
 +function civicrm_api3_cxn_getcfg($params) {
 +  $result = array(
 +    'CIVICRM_CXN_CA' => defined('CIVICRM_CXN_CA') ? CIVICRM_CXN_CA : NULL,
 +    'CIVICRM_CXN_VIA' => defined('CIVICRM_CXN_VIA') ? CIVICRM_CXN_VIA : NULL,
 +    'CIVICRM_CXN_APPS_URL' => defined('CIVICRM_CXN_APPS_URL') ? CIVICRM_CXN_APPS_URL : NULL,
 +    'siteCallbackUrl' => CRM_Cxn_BAO_Cxn::getSiteCallbackUrl(),
 +  );
 +  return civicrm_api3_create_success($result);
 +
 +  $cxnId = _civicrm_api3_cxn_parseCxnId($params);
 +  $appMeta = CRM_Cxn_BAO_Cxn::getAppMeta($cxnId);
 +
 +  if (empty($params['page']) || !is_string($params['page'])) {
 +    throw new API_Exception("Invalid page");
 +  }
 +
 +  /** @var \Civi\Cxn\Rpc\RegistrationClient $client */
 +  $client = \Civi\Core\Container::singleton()->get('cxn_reg_client');
 +  return $client->call($appMeta, 'Cxn', 'getlink', array(
 +    'page' => $params['page'],
 +  ));
 +}
++
++/**
++ * Creates or modifies a Cxn row.
+  *
+  * @param array $params
+  *   Array with keys:
+  *   - id, cxn_guid OR app_guid: string.
+  *   - is_active: boolean.
+  *   - options: JSON
+  * @return page
+  * @throws Exception
+  */
+ function civicrm_api3_cxn_create($params) {
+   $result = "";
+   try {
+     // get the ID
+     if (!empty($params['id'])) {
+       $cxnId = $params['id'];
+     }
+     else {
+       $cxnId = _civicrm_api3_cxn_parseCxnId($params);
+     }
+     // see if it's sth to update
+     if (isset($params['options']) || isset($params['is_active'])) {
+       $dao = new CRM_Cxn_DAO_Cxn();
+       $dao->id = $cxnId;
+       if ($dao->find()) {
+         if (isset($params['is_active'])) {
+           $dao->is_active = (int) $params['is_active'];
+         }
+         if (isset($params['options'])) {
+           $dao->options = $params['options'];
+         }
+         $result = $dao->save();
+       }
+     }
+     return civicrm_api3_create_success($result, $params, 'Cxn', 'create');
+   }
+   catch(Exception $ex){
+     throw $ex;
+   }
+ }