Skip to content

Instantly share code, notes, and snippets.

@paulwsmith
paulwsmith / app.js
Last active August 29, 2015 14:02
resolve plugin route
$routeProvider.when('/route-test', {
controller: ['$scope', 'plugin', function($scope, plugin) {
$scope.plugin = plugin;
}],
template: '<div>{{plugin|json}}</div>',
resolve: {
'plugin': ['$q', '$timeout', function($q, $timeout) {
var deferred = $q.defer();
$timeout(function() {
deferred.resolve({
@paulwsmith
paulwsmith / data.js
Last active August 29, 2015 14:01
Plugin API - Events
wizehive.controller('DataCntl', ['$scope', 'PluginCommunication', function($scope, PluginCommunication) {
// Send record data
$scope.$watch('record', function(record) {
PluginCommunication.$broadcast('data-cntl-record', record);
});
// Get record data from plugin
PluginCommunication.$on('DataCntl.record-update', function(evt, record) {
$scope.record = record;
});
angular.module('wizehive-plugins')
.directive('wh-plugin-container', [function() {
return {
scope: {
pluginName: '='
},
controller: function($scope) {
this.name = $scope.pluginName; // AwesomePlugin
}
};
// FOLLOWING LINES ARE PREPENDED VERBATIM TO THE FILE BY SERVER -->
(function(pluginName, plugin) {
var wizehive = null;
var angular = null;
plugin.currentPluginName = pluginName;
// <-- END SERVER PREPENDING
// DUMP YOUR JS CODE HERE - sample plugin code: -->
columns = [
{
field: 'folder.name',
displayName: 'Folder',
width: 200,
enableCellEdit: false,
groupable: true,
visible: false,
sortFn: Model.makeSortFunction(currentFolders)
}
@paulwsmith
paulwsmith / README.md
Created April 14, 2014 18:37
countries

README is empty

$scope.checkStatus = function () {
//get import job details
Data('RecordImportJobs').query({ id: $scope.recordImportJobId }, function (importJob) {
//check if job is under process
if (importJob.completed !== null || importJob.completed == 'null') { //job is completed
///close modal only if data is imported or file has invalid records
if ($scope.validate == 'only' && importJob.errors !== null) {
// DO WHATEVER YOU NEED TO DO TO SHOW THE ERRORS, e.g.
$scope.$emit('modal-close');
$scope.importCallback(importJob);
<?php
function beforeSave() {
$current_role_id; // = something... role that was set to false
foreach($data['read'] as $role_id => $value) {
if ($value == false) {
$record_permission_data = $this->RecordPermission->find(array(
'conditions' => array(
'scope' => $this->data['scope'] . '.Records'
)
));
@paulwsmith
paulwsmith / FormRecordPermission.php
Created February 27, 2014 03:15
Pseudo code for getting all filter results for FormRecordPermission
<?php
// Assume that FormPermissionBehavior has already run, so we already know we have form-level access
$form_index = array();
$filter_result_index = array();
$workspace_memberships = $this->__userWorkspaceRoles();
// Something like...
$workspace_memberships = array(
<?php
private function isVirtualRelation($model, $relation_name) {
if (isset($model->actsAs['VirtualHabtm.VirtualHabtm'])) {
foreach($model->actsAs['VirtualHabtm.VirtualHabtm']['fields'] as $field => $def) {
if ($def['joinModel'] == $relation_name) return true;
}
}
return false;
}