[Testbot] Plone 5.0 - Python 2.7 - Build # 1981 - Still failing! - 10 failure(s)

jenkins at plone.org jenkins at plone.org
Sun Mar 16 16:01:49 UTC 2014


-------------------------------------------------------------------------------
Plone 5.0 - Python 2.7 - Build # 1981 - Still Failing!
-------------------------------------------------------------------------------

http://jenkins.plone.org/job/plone-5.0-python-2.7/1981/


-------------------------------------------------------------------------------
CHANGES
-------------------------------------------------------------------------------

Repository: mockup
Branch: refs/heads/master
Date: 2014-03-16T07:59:35-07:00
Author: David Glick (davisagli) <david at glicksoftware.com>
Commit: https://github.com/plone/mockup/commit/dd31158424d68ef2f81ef204df5b96ed7eab4722

Revert "Improve flexibility of structure pattern"

This reverts commit e2c00397fdd4667f36f7a768343c3aa571cd200f.

Files changed:
M js/patterns/structure/pattern.js
M js/patterns/structure/views/app.js
M js/patterns/structure/views/table.js

diff --git a/js/patterns/structure/pattern.js b/js/patterns/structure/pattern.js
index 1ab290f..70daf3f 100644
--- a/js/patterns/structure/pattern.js
+++ b/js/patterns/structure/pattern.js
@@ -78,19 +78,13 @@ define([
   'mockup-patterns-base',
   'mockup-utils',
   'js/patterns/structure/views/app',
-  'js/patterns/structure/views/tags',
-  'js/patterns/structure/views/properties',
-  'js/patterns/structure/views/workflow',
-  'js/patterns/structure/views/delete',
-  'js/patterns/structure/views/rename',
   'text!js/patterns/structure/templates/paging.xml',
   'text!js/patterns/structure/templates/selection_button.xml',
   'text!js/patterns/structure/templates/selection_item.xml',
   'text!js/patterns/structure/templates/tablerow.xml',
   'text!js/patterns/structure/templates/table.xml',
   'text!js/ui/templates/popover.xml'
-], function($, Base, utils, AppView, TagsView, PropertiesView, WorkflowView,
-            DeleteView, RenameView) {
+], function($, Base, utils, AppView) {
   'use strict';
 
   var Structure = Base.extend({
@@ -138,21 +132,14 @@ define([
         },
         url: '/rearrange'
       },
-      buttonViewMapping: {  // deprecated - should now be specified in buttonGroups
-        'tags': TagsView,
-        'properties': PropertiesView,
-        'workflow': WorkflowView,
-        'delete': DeleteView,
-        'rename': RenameView
-      },
       basePath: '/',
       uploadUrl: null,
       moveUrl: null,
       /*
        * all these base buttons are required
        */
-      buttonGroups: [
-        [{
+      buttonGroups: {
+        primary: [{
           title: 'Cut',
           url: '/cut'
         },{
@@ -160,35 +147,27 @@ define([
           url: '/copy'
         },{
           title: 'Paste',
-          url: '/paste',
-          isEnabled: function(view, selected) {
-            return view.pasteAllowed;
-          }
+          url: '/paste'
         },{
           title: 'Delete',
           url: '/delete',
           context: 'danger',
-          icon: 'trash',
-          view: DeleteView
+          icon: 'trash'
         }],
-        [{
+        secondary: [{
           title: 'Workflow',
-          url: '/workflow',
-          view: WorkflowView
+          url: '/workflow'
         },{
           title: 'Tags',
-          url: '/tags',
-          view: TagsView
+          url: '/tags'
         },{
           title: 'Properties',
-          url: '/properties',
-          view: PropertiesView
+          url: '/properties'
         },{
           title: 'Rename',
-          url: '/rename',
-          view: RenameView
+          url: '/rename'
         }]
-      ],
+      },
       useTus: false
     },
     init: function() {
diff --git a/js/patterns/structure/views/app.js b/js/patterns/structure/views/app.js
index 17d2719..dce9794 100644
--- a/js/patterns/structure/views/app.js
+++ b/js/patterns/structure/views/app.js
@@ -75,7 +75,13 @@ define([
       'rename': DISABLE_EVENT,
       'rearrange': DISABLE_EVENT
     },
-    buttonViewMapping: {},  // deprecated
+    buttonViewMapping: {
+      'secondary.tags': TagsView,
+      'secondary.properties': PropertiesView,
+      'secondary.workflow': WorkflowView,
+      'primary.delete': DeleteView,
+      'secondary.rename': RenameView
+    },
     status: '',
     statusType: 'warning',
     pasteOperation: null,
@@ -129,11 +135,34 @@ define([
         app: self
       });
 
+      self.buttonViews = {};
+      _.map(self.buttonViewMapping, function(ViewClass, key, list) {
+        var name = key.split('.');
+        var group = name[0];
+        var buttonName = name[1];
+        self.buttonViews[key] = new ViewClass({
+          triggerView: self.buttons[group].get(buttonName),
+          app: self
+        });
+      });
+
       self.toolbar.get('selected').disable();
-      _.each(self.buttons, function(button) { button.disable(); });
+      self.buttons.primary.disable();
+      self.buttons.secondary.disable();
 
       self.selectedCollection.on('add remove reset', function(modal, collection) {
-        self.updateButtons();
+        if (collection.length) {
+          self.toolbar.get('selected').enable();
+          self.buttons.primary.enable();
+          self.buttons.secondary.enable();
+          if (!self.pasteAllowed) {
+            self.buttons.primary.get('paste').disable();
+          }
+        } else {
+          this.toolbar.get('selected').disable();
+          self.buttons.primary.disable();
+          self.buttons.secondary.disable();
+        }
       }, self);
 
       self.collection.on('sync', function() {
@@ -311,10 +340,11 @@ define([
       txt += 'selection';
       self.setStatus(txt);
       self.pasteAllowed = true;
-      self.updateButtons();
+      self.buttons.primary.get('paste').enable();
     },
     setupButtons: function() {
       var self = this;
+      self.buttons = {};
       var items = [];
 
       var columnsBtn = new ButtonView({
@@ -356,37 +386,26 @@ define([
         items.push(rearrangeButton);
       }
 
-      self.flyoutViews = [];
-      self.buttons = [];
-      _.each(this.options.buttonGroups, function(group) {
+      _.each(_.pairs(this.options.buttonGroups), function(group) {
         var buttons = [];
-        _.each(group, function(button) {
-          var buttonView = new ButtonView(button);
-          buttons.push(buttonView);
-          self.buttons.push(buttonView);
+        _.each(group[1], function(button) {
+          button = new ButtonView(button);
+          buttons.push(button);
           // bind click events now...
-          var ev = self.buttonClickEvents[buttonView.id];
+          var ev = self.buttonClickEvents[button.id];
           if (ev !== DISABLE_EVENT) {
             if (ev === undefined) {
               ev = 'defaultButtonClickEvent'; // default click event
             }
-            buttonView.on('button:click', self[ev], self);
-          }
-
-          var FlyoutView = button.view || self.options.buttonViewMapping[buttonView.id];
-          if (FlyoutView !== undefined) {
-            var flyoutView = new FlyoutView({
-              triggerView: buttonView,
-              app: self
-            });
-            self.flyoutViews.push(flyoutView);
+            button.on('button:click', self[ev], self);
           }
         });
-        var buttonGroup = new ButtonGroup({
+        self.buttons[group[0]] = new ButtonGroup({
           items: buttons,
+          id: group[0],
           app: self
         });
-        items.push(buttonGroup);
+        items.push(self.buttons[group[0]]);
       });
       if (self.options.uploadUrl) {
         var uploadBtn = new ButtonView({
@@ -409,30 +428,6 @@ define([
         items: items
       });
     },
-    updateButtons: function() {
-      var self = this;
-      var collection = self.selectedCollection;
-      _.each(self.buttons, function(button) {
-        if (button.isEnabled !== undefined) {
-          if (button.isEnabled(self, collection)) {
-            button.enable();
-          } else {
-            button.disable();
-          }
-        } else {
-          if (collection.length) {
-            button.enable();
-          } else {
-            button.disable();
-          }
-        }
-      });
-      if (collection.length) {
-        self.toolbar.get('selected').enable();
-      } else {
-        this.toolbar.get('selected').disable();
-      }
-    },
     moveItem: function(id, delta, subsetIds) {
       var self = this;
       $.ajax({
@@ -477,7 +472,7 @@ define([
         self.$el.append(self.rearrangeView.render().el);
       }
 
-      _.each(self.flyoutViews, function(view) {
+      _.each(self.buttonViews, function(view) {
         self.$el.append(view.render().el);
       });
 
diff --git a/js/patterns/structure/views/table.js b/js/patterns/structure/views/table.js
index eee2701..99bf7ff 100644
--- a/js/patterns/structure/views/table.js
+++ b/js/patterns/structure/views/table.js
@@ -67,9 +67,6 @@ define([
     setContextInfo: function() {
       var self = this;
       var data = self.contextInfo;
-      if (!data) {
-        return;
-      }
       var $defaultPage = self.$('[data-id="' + data.defaultPage + '"]');
       if ($defaultPage.length > 0) {
         $defaultPage.find('td.title').prepend('<span>*</span> ');




-------------------------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CHANGES.log
Type: application/octet-stream
Size: 8783 bytes
Desc: not available
URL: <http://lists.plone.org/pipermail/plone-testbot/attachments/20140316/a011a243/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: build.log
Type: application/octet-stream
Size: 202231 bytes
Desc: not available
URL: <http://lists.plone.org/pipermail/plone-testbot/attachments/20140316/a011a243/attachment-0003.obj>


More information about the Testbot mailing list