refinerycms 0.9.5.21 → 0.9.5.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gems +7 -5
- data/README +3 -3
- data/VERSION +1 -1
- data/config/environment.rb +2 -2
- data/db/migrate/20091207033335_add_superuser_to_users.rb +12 -0
- data/db/schema.rb +2 -1
- data/public/javascripts/wymeditor/jquery.refinery.wymeditor.js +92 -82
- data/vendor/plugins/authentication/app/controllers/users_controller.rb +25 -24
- data/vendor/plugins/authentication/app/models/user.rb +4 -0
- data/vendor/plugins/authentication/app/views/admin/users/index.html.erb +1 -1
- data/vendor/plugins/refinery/app/views/shared/_content_page.html.erb +1 -1
- metadata +3 -2
    
        data/.gems
    CHANGED
    
    | @@ -1,6 +1,8 @@ | |
| 1 1 | 
             
            rake --version '>= 0.8.3'
         | 
| 2 | 
            -
            friendly_id --version '>= 2. | 
| 3 | 
            -
             | 
| 4 | 
            -
            rails --version '>= 2.3. | 
| 5 | 
            -
             | 
| 6 | 
            -
            unicode --version '>= 0.1'
         | 
| 2 | 
            +
            friendly_id --version '>= 2.2.2'
         | 
| 3 | 
            +
            will_paginate --version '>= 2.3.11'
         | 
| 4 | 
            +
            rails --version '>= 2.3.5'
         | 
| 5 | 
            +
            aasm --version '>= 2.1.3'
         | 
| 6 | 
            +
            unicode --version '>= 0.1'
         | 
| 7 | 
            +
            slim_scrooge --version '>= 1.0.1'
         | 
| 8 | 
            +
            hpricot --version '= 0.8.1'
         | 
    
        data/README
    CHANGED
    
    | @@ -50,15 +50,15 @@ You will be prompted to setup your first user. | |
| 50 50 |  | 
| 51 51 | 
             
            == Environment required
         | 
| 52 52 |  | 
| 53 | 
            -
            Refinery runs using a number of gems which (as of Refinery version 0.9.5) are outlined below:
         | 
| 53 | 
            +
            Refinery runs using a number of gems which (as of Refinery version 0.9.5.21) are outlined below:
         | 
| 54 54 |  | 
| 55 55 | 
             
            - "rake", :version => ">= 0.8.3"
         | 
| 56 56 | 
             
            - "friendly_id", :version => ">= 2.2.2"
         | 
| 57 57 | 
             
            - "will_paginate", :version => ">= 2.3.11"
         | 
| 58 | 
            -
            - "rails", :version => ">= 2.3. | 
| 58 | 
            +
            - "rails", :version => ">= 2.3.5"
         | 
| 59 59 | 
             
            - "aasm", :version => ">= 2.1.3"
         | 
| 60 60 | 
             
            - "unicode", :version => ">= 0.1"
         | 
| 61 | 
            -
            - "slim_scrooge", :version => ">= 1.0. | 
| 61 | 
            +
            - "slim_scrooge", :version => ">= 1.0.3"
         | 
| 62 62 | 
             
            - "hpricot", :version => "= 0.8.1"
         | 
| 63 63 |  | 
| 64 64 | 
             
            == Updates to core files
         | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            0.9.5. | 
| 1 | 
            +
            0.9.5.22
         | 
    
        data/config/environment.rb
    CHANGED
    
    | @@ -66,10 +66,10 @@ eval("#{(defined? Refinery::Initializer) ? Refinery : Rails}::Initializer").run | |
| 66 66 | 
             
              config.gem "rake", :version => ">= 0.8.3", :lib => "rake"
         | 
| 67 67 | 
             
              config.gem "friendly_id", :version => ">= 2.2.2", :lib => "friendly_id"
         | 
| 68 68 | 
             
              config.gem "will_paginate", :version => ">= 2.3.11", :lib => "will_paginate", :source => "http://gemcutter.org"
         | 
| 69 | 
            -
              config.gem "rails", :version => ">= 2.3. | 
| 69 | 
            +
              config.gem "rails", :version => ">= 2.3.5", :lib => "rails"
         | 
| 70 70 | 
             
              config.gem "aasm", :version => ">= 2.1.3", :lib => "aasm", :source => "http://gemcutter.org"
         | 
| 71 71 | 
             
              config.gem "unicode", :version => ">= 0.1", :lib => "unicode"
         | 
| 72 | 
            -
              config.gem "slim_scrooge", :version => ">= 1.0. | 
| 72 | 
            +
              config.gem "slim_scrooge", :version => ">= 1.0.3", :lib => "slim_scrooge", :source => "http://gemcutter.org" #unless RUBY_PLATFORM =~ /mswin|mingw/ # kill gem when windows is running.
         | 
| 73 73 | 
             
              config.gem "hpricot", :version => "= 0.8.1", :lib => "hpricot", :source => "http://gemcutter.org"
         | 
| 74 74 | 
             
              #===REFINERY END OF REQUIRED GEMS===
         | 
| 75 75 | 
             
            end
         | 
| @@ -0,0 +1,12 @@ | |
| 1 | 
            +
            class AddSuperuserToUsers < ActiveRecord::Migration
         | 
| 2 | 
            +
              def self.up
         | 
| 3 | 
            +
                add_column :users, :superuser, :boolean, :default => false
         | 
| 4 | 
            +
                unless (user = User.first).nil?
         | 
| 5 | 
            +
                  user.update_attribute(:superuser, true)
         | 
| 6 | 
            +
                end
         | 
| 7 | 
            +
              end
         | 
| 8 | 
            +
             | 
| 9 | 
            +
              def self.down
         | 
| 10 | 
            +
                remove_column :users, :superuser
         | 
| 11 | 
            +
              end
         | 
| 12 | 
            +
            end
         | 
    
        data/db/schema.rb
    CHANGED
    
    | @@ -9,7 +9,7 @@ | |
| 9 9 | 
             
            #
         | 
| 10 10 | 
             
            # It's strongly recommended to check this file into your version control system.
         | 
| 11 11 |  | 
| 12 | 
            -
            ActiveRecord::Schema.define(:version =>  | 
| 12 | 
            +
            ActiveRecord::Schema.define(:version => 20091207033335) do
         | 
| 13 13 |  | 
| 14 14 | 
             
              create_table "images", :force => true do |t|
         | 
| 15 15 | 
             
                t.integer  "parent_id"
         | 
| @@ -145,6 +145,7 @@ ActiveRecord::Schema.define(:version => 20091130040711) do | |
| 145 145 | 
             
                t.datetime "deleted_at"
         | 
| 146 146 | 
             
                t.datetime "created_at"
         | 
| 147 147 | 
             
                t.datetime "updated_at"
         | 
| 148 | 
            +
                t.boolean  "superuser",                               :default => false
         | 
| 148 149 | 
             
              end
         | 
| 149 150 |  | 
| 150 151 | 
             
              add_index "users", ["id"], :name => "index_users_on_id"
         | 
| @@ -1236,7 +1236,7 @@ WYMeditor.editor.prototype.dialog = function( dialogType ) { | |
| 1236 1236 | 
             
            				}
         | 
| 1237 1237 | 
             
            			}
         | 
| 1238 1238 | 
             
            		}
         | 
| 1239 | 
            -
             | 
| 1239 | 
            +
            	}
         | 
| 1240 1240 |  | 
| 1241 1241 | 
             
            	// set up handlers.
         | 
| 1242 1242 | 
             
            	imageGroup = null;
         | 
| @@ -1250,7 +1250,7 @@ WYMeditor.editor.prototype.dialog = function( dialogType ) { | |
| 1250 1250 | 
             
            		parent_node = selected;
         | 
| 1251 1251 | 
             
            	}
         | 
| 1252 1252 |  | 
| 1253 | 
            -
            	if (parent_node != null && parent_node.tagName.toLowerCase() != WYMeditor.A)
         | 
| 1253 | 
            +
            	if ((parent_node != null) && (dialogType != WYMeditor.DIALOG_PASTE) && (parent_node.tagName.toLowerCase() != WYMeditor.A))
         | 
| 1254 1254 | 
             
            	{
         | 
| 1255 1255 | 
             
            		// wrap the current selection with a funky span (not required for safari)
         | 
| 1256 1256 | 
             
            		if (!this._selected_image && !jQuery.browser.safari)
         | 
| @@ -1260,15 +1260,17 @@ WYMeditor.editor.prototype.dialog = function( dialogType ) { | |
| 1260 1260 | 
             
            	}
         | 
| 1261 1261 | 
             
            	else {
         | 
| 1262 1262 | 
             
            		if (!this._selected_image) {
         | 
| 1263 | 
            -
            			parent_node._id_before_replaceable =  | 
| 1263 | 
            +
            			parent_node._id_before_replaceable = parent_node.id;
         | 
| 1264 1264 | 
             
            			parent_node.id = 'replace_me_with_' + this._current_unique_stamp;
         | 
| 1265 1265 | 
             
            		}
         | 
| 1266 1266 |  | 
| 1267 | 
            -
             | 
| 1268 | 
            -
             | 
| 1269 | 
            -
             | 
| 1270 | 
            -
             | 
| 1271 | 
            -
             | 
| 1267 | 
            +
                if (dialogType != WYMeditor.DIALOG_PASTE) {
         | 
| 1268 | 
            +
                  path += (this._wym._options.dialogFeatures.length == 0) ? "?" : "&";
         | 
| 1269 | 
            +
                  port = (window.location.port.length > 0 ? (":" + window.location.port) : "")
         | 
| 1270 | 
            +
                  path += "current_link=" + parent_node.href.gsub(window.location.protocol + "//" + window.location.hostname + port, "");
         | 
| 1271 | 
            +
                  path += "&target_blank=" + (parent_node.target == "_blank" ? "true" : "false");
         | 
| 1272 | 
            +
                }
         | 
| 1273 | 
            +
              }
         | 
| 1272 1274 |  | 
| 1273 1275 | 
             
            	// launch thickbox
         | 
| 1274 1276 |  | 
| @@ -1332,9 +1334,14 @@ WYMeditor.editor.prototype.uniqueStamp = function() { | |
| 1332 1334 | 
             
            };
         | 
| 1333 1335 |  | 
| 1334 1336 | 
             
            WYMeditor.editor.prototype.paste = function(sData) {
         | 
| 1335 | 
            -
             | 
| 1337 | 
            +
             | 
| 1338 | 
            +
              this.format_block();
         | 
| 1339 | 
            +
             | 
| 1336 1340 | 
             
            	var sTmp;
         | 
| 1337 | 
            -
            	 | 
| 1341 | 
            +
            	replaceable = jQuery(this._doc.body).find('#replace_me_with_' + this._current_unique_stamp);
         | 
| 1342 | 
            +
             | 
| 1343 | 
            +
              // replaceable doesn't actually get replaced here, it's just used as a marker for where the cursor was.
         | 
| 1344 | 
            +
            	var container = replaceable[0] || this.selected();
         | 
| 1338 1345 |  | 
| 1339 1346 | 
             
            	//split the data, using double newlines as the separator
         | 
| 1340 1347 | 
             
            	var aP = sData.split(this._newLine + this._newLine);
         | 
| @@ -1343,19 +1350,31 @@ WYMeditor.editor.prototype.paste = function(sData) { | |
| 1343 1350 | 
             
            	//add a P for each item
         | 
| 1344 1351 | 
             
            	if(container && container.tagName.toLowerCase() != WYMeditor.BODY) {
         | 
| 1345 1352 | 
             
            		for(x = aP.length - 1; x >= 0; x--) {
         | 
| 1346 | 
            -
             | 
| 1347 | 
            -
             | 
| 1348 | 
            -
             | 
| 1349 | 
            -
             | 
| 1353 | 
            +
              		sTmp = aP[x];
         | 
| 1354 | 
            +
              		//simple newlines are replaced by a break
         | 
| 1355 | 
            +
              		sTmp = sTmp.replace(rExp, "<br />");
         | 
| 1356 | 
            +
              		if (x == aP.length-1 && jQuery(container).html().gsub(/<br\ ?\/?>/, "").length == 0) {
         | 
| 1357 | 
            +
            		    jQuery(container).html(sTmp);
         | 
| 1358 | 
            +
            		  } else {
         | 
| 1359 | 
            +
              		  jQuery(container).after("<p>" + sTmp + "</p>");
         | 
| 1360 | 
            +
            		  }
         | 
| 1350 1361 | 
             
            		}
         | 
| 1351 1362 | 
             
            	} else {
         | 
| 1352 1363 | 
             
            		for(x = 0; x < aP.length; x++) {
         | 
| 1353 | 
            -
             | 
| 1354 | 
            -
             | 
| 1355 | 
            -
             | 
| 1356 | 
            -
             | 
| 1364 | 
            +
            			sTmp = aP[x];
         | 
| 1365 | 
            +
            			//simple newlines are replaced by a break
         | 
| 1366 | 
            +
            			sTmp = sTmp.replace(rExp, "<br />");
         | 
| 1367 | 
            +
            			if (x == 0 && jQuery(container).html().gsub(/<br\ ?\/?>/, "").length == 0) {
         | 
| 1368 | 
            +
            		    jQuery(container).html(sTmp);
         | 
| 1369 | 
            +
            		  } else {
         | 
| 1370 | 
            +
              		  jQuery(this._doc.body).append("<p>" + sTmp + "</p>");
         | 
| 1371 | 
            +
            		  }
         | 
| 1357 1372 | 
             
            		}
         | 
| 1373 | 
            +
            	}
         | 
| 1358 1374 |  | 
| 1375 | 
            +
            	if (replaceable[0] != null) {
         | 
| 1376 | 
            +
            	  // set the id of the container back.
         | 
| 1377 | 
            +
                replaceable[0].id = replaceable[0]._id_before_replaceable;
         | 
| 1359 1378 | 
             
            	}
         | 
| 1360 1379 | 
             
            };
         | 
| 1361 1380 |  | 
| @@ -1363,7 +1382,7 @@ WYMeditor.editor.prototype.insert = function(html) { | |
| 1363 1382 | 
             
            		// Do we have a selection?
         | 
| 1364 1383 | 
             
            		if (this._iframe.contentWindow.getSelection().focusNode != null) {
         | 
| 1365 1384 | 
             
            				// Overwrite selection with provided html
         | 
| 1366 | 
            -
            				this._exec( | 
| 1385 | 
            +
            				this._exec(WYMeditor.INSERT_HTML, html);
         | 
| 1367 1386 | 
             
            		} else {
         | 
| 1368 1387 | 
             
            				// Fall back to the internal paste function if there's no selection
         | 
| 1369 1388 | 
             
            				this.paste(html);
         | 
| @@ -1398,6 +1417,32 @@ WYMeditor.editor.prototype.addCssRules = function(doc, aCss) { | |
| 1398 1417 | 
             
            	}
         | 
| 1399 1418 | 
             
            };
         | 
| 1400 1419 |  | 
| 1420 | 
            +
            WYMeditor.editor.prototype.format_block = function(selected) {
         | 
| 1421 | 
            +
             | 
| 1422 | 
            +
              //'this' should be the wymeditor instance.
         | 
| 1423 | 
            +
            	var wym = this;
         | 
| 1424 | 
            +
             | 
| 1425 | 
            +
              var container = selected || wym.selected();
         | 
| 1426 | 
            +
             | 
| 1427 | 
            +
              wym._selected_image = null;
         | 
| 1428 | 
            +
             | 
| 1429 | 
            +
            	var name = container.tagName.toLowerCase();
         | 
| 1430 | 
            +
             | 
| 1431 | 
            +
            	//fix forbidden main containers
         | 
| 1432 | 
            +
            	if(
         | 
| 1433 | 
            +
            		name == "strong" ||
         | 
| 1434 | 
            +
            		name == "b" ||
         | 
| 1435 | 
            +
            		name == "em" ||
         | 
| 1436 | 
            +
            		name == "i" ||
         | 
| 1437 | 
            +
            		name == "sub" ||
         | 
| 1438 | 
            +
            		name == "sup" ||
         | 
| 1439 | 
            +
            		name == "a"
         | 
| 1440 | 
            +
             | 
| 1441 | 
            +
            	) name = container.parentNode.tagName.toLowerCase();
         | 
| 1442 | 
            +
             | 
| 1443 | 
            +
            	if(name == WYMeditor.BODY) wym._exec(WYMeditor.FORMAT_BLOCK, WYMeditor.P);
         | 
| 1444 | 
            +
            };
         | 
| 1445 | 
            +
             | 
| 1401 1446 | 
             
            /********** CONFIGURATION **********/
         | 
| 1402 1447 |  | 
| 1403 1448 | 
             
            WYMeditor.editor.prototype.computeBasePath = function() {
         | 
| @@ -4470,71 +4515,36 @@ WYMeditor.WymClassMozilla.prototype.keyup = function(evt) { | |
| 4470 4515 |  | 
| 4471 4516 | 
             
            	//'this' is the doc
         | 
| 4472 4517 | 
             
            	var wym = WYMeditor.INSTANCES[this.title];
         | 
| 4473 | 
            -
             | 
| 4474 | 
            -
             | 
| 4475 | 
            -
             | 
| 4476 | 
            -
             | 
| 4477 | 
            -
             | 
| 4478 | 
            -
             | 
| 4479 | 
            -
             | 
| 4480 | 
            -
             | 
| 4481 | 
            -
             | 
| 4482 | 
            -
             | 
| 4483 | 
            -
             | 
| 4484 | 
            -
             | 
| 4485 | 
            -
             | 
| 4486 | 
            -
             | 
| 4487 | 
            -
             | 
| 4488 | 
            -
             | 
| 4489 | 
            -
             | 
| 4490 | 
            -
             | 
| 4491 | 
            -
             | 
| 4492 | 
            -
             | 
| 4493 | 
            -
             | 
| 4494 | 
            -
             | 
| 4495 | 
            -
             | 
| 4496 | 
            -
             | 
| 4497 | 
            -
             | 
| 4498 | 
            -
             | 
| 4499 | 
            -
             | 
| 4518 | 
            +
              if (wym != null) {
         | 
| 4519 | 
            +
              	wym._selected_image = null;
         | 
| 4520 | 
            +
              	var container = null;
         | 
| 4521 | 
            +
             | 
| 4522 | 
            +
              	if(evt.keyCode == 13 && !evt.shiftKey) {
         | 
| 4523 | 
            +
             | 
| 4524 | 
            +
              		//RETURN key
         | 
| 4525 | 
            +
              		//cleanup <br><br> between paragraphs
         | 
| 4526 | 
            +
              		jQuery(wym._doc.body).children(WYMeditor.BR).remove();
         | 
| 4527 | 
            +
             | 
| 4528 | 
            +
              		//fix PRE bug #73
         | 
| 4529 | 
            +
              		container = wym.selected();
         | 
| 4530 | 
            +
              		if(container && container.tagName.toLowerCase() == WYMeditor.PRE)
         | 
| 4531 | 
            +
              				wym._exec(WYMeditor.FORMAT_BLOCK, WYMeditor.P); //create P after PRE
         | 
| 4532 | 
            +
              	}
         | 
| 4533 | 
            +
             | 
| 4534 | 
            +
              	else if(evt.keyCode != 8
         | 
| 4535 | 
            +
              			 && evt.keyCode != 17
         | 
| 4536 | 
            +
              			 && evt.keyCode != 46
         | 
| 4537 | 
            +
              			 && evt.keyCode != 224
         | 
| 4538 | 
            +
              			 && !evt.metaKey
         | 
| 4539 | 
            +
              			 && !evt.ctrlKey) {
         | 
| 4540 | 
            +
              		//NOT BACKSPACE, NOT DELETE, NOT CTRL, NOT COMMAND
         | 
| 4541 | 
            +
              		//text nodes replaced by P
         | 
| 4542 | 
            +
             | 
| 4543 | 
            +
              		wym.format_block();
         | 
| 4544 | 
            +
              	}
         | 
| 4545 | 
            +
              }
         | 
| 4500 4546 | 
             
            };
         | 
| 4501 4547 |  | 
| 4502 | 
            -
            WYMeditor.WymClassMozilla.prototype.paste = function(evt) {
         | 
| 4503 | 
            -
             | 
| 4504 | 
            -
            	var wym = WYMeditor.INSTANCES[this.title];
         | 
| 4505 | 
            -
             | 
| 4506 | 
            -
            	wym.format_block();
         | 
| 4507 | 
            -
             | 
| 4508 | 
            -
            };
         | 
| 4509 | 
            -
             | 
| 4510 | 
            -
            WYMeditor.WymClassMozilla.prototype.format_block = function(selected) {
         | 
| 4511 | 
            -
             | 
| 4512 | 
            -
              //'this' should be the wymeditor instance.
         | 
| 4513 | 
            -
            	var wym = this;
         | 
| 4514 | 
            -
             | 
| 4515 | 
            -
              selected = selected || wym.selected();
         | 
| 4516 | 
            -
             | 
| 4517 | 
            -
              wym._selected_image = null;
         | 
| 4518 | 
            -
            	var container = null;
         | 
| 4519 | 
            -
             | 
| 4520 | 
            -
            	container = wym.selected();
         | 
| 4521 | 
            -
            	var name = container.tagName.toLowerCase();
         | 
| 4522 | 
            -
             | 
| 4523 | 
            -
            	//fix forbidden main containers
         | 
| 4524 | 
            -
            	if(
         | 
| 4525 | 
            -
            		name == "strong" ||
         | 
| 4526 | 
            -
            		name == "b" ||
         | 
| 4527 | 
            -
            		name == "em" ||
         | 
| 4528 | 
            -
            		name == "i" ||
         | 
| 4529 | 
            -
            		name == "sub" ||
         | 
| 4530 | 
            -
            		name == "sup" ||
         | 
| 4531 | 
            -
            		name == "a"
         | 
| 4532 | 
            -
             | 
| 4533 | 
            -
            	) name = container.parentNode.tagName.toLowerCase();
         | 
| 4534 | 
            -
             | 
| 4535 | 
            -
            	if(name == WYMeditor.BODY) wym._exec(WYMeditor.FORMAT_BLOCK, WYMeditor.P);
         | 
| 4536 | 
            -
            }
         | 
| 4537 | 
            -
             | 
| 4538 4548 | 
             
            WYMeditor.WymClassMozilla.prototype.enableDesignMode = function() {
         | 
| 4539 4549 | 
             
            		if(this.designMode == "off") {
         | 
| 4540 4550 | 
             
            			try {
         | 
| @@ -17,29 +17,30 @@ class UsersController < ApplicationController | |
| 17 17 | 
             
                  render :text => "User signup is disabled", :layout => true
         | 
| 18 18 | 
             
                else
         | 
| 19 19 | 
             
                  begin
         | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
                         | 
| 40 | 
            -
                      else
         | 
| 41 | 
            -
                        render :action => 'new'
         | 
| 20 | 
            +
                    cookies.delete :auth_token
         | 
| 21 | 
            +
                    # protects against session fixation attacks, wreaks havoc with
         | 
| 22 | 
            +
                    # request forgery protection.
         | 
| 23 | 
            +
                    # uncomment at your own risk
         | 
| 24 | 
            +
                    # reset_session
         | 
| 25 | 
            +
                    @user = User.new(params[:user])
         | 
| 26 | 
            +
                    @selected_plugin_titles = params[:user][:plugins] || []
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                    @user.register! if @user.valid?
         | 
| 29 | 
            +
                    if @user.errors.empty?
         | 
| 30 | 
            +
                      @user.plugins = @selected_plugin_titles
         | 
| 31 | 
            +
                      self.current_user = @user
         | 
| 32 | 
            +
                      current_user.activate!
         | 
| 33 | 
            +
                      current_user.update_attribute(:superuser, true) if User.count == 1 # this is the superuser if this user is the only user.
         | 
| 34 | 
            +
                      redirect_back_or_default(admin_root_url)
         | 
| 35 | 
            +
             | 
| 36 | 
            +
                      flash[:notice] = "Welcome to Refinery, #{current_user.login}."
         | 
| 37 | 
            +
                      if User.count == 1 or RefinerySetting[:site_name] == "Company Name"
         | 
| 38 | 
            +
                        refinery_setting = RefinerySetting.find_by_name("site_name")
         | 
| 39 | 
            +
                        flash[:notice] << "<br/>First let's give the site a name. <a href='#{edit_admin_refinery_setting_url(refinery_setting)}'>Go here</a> to edit your website's name"
         | 
| 42 40 | 
             
                      end
         | 
| 41 | 
            +
                    else
         | 
| 42 | 
            +
                      render :action => 'new'
         | 
| 43 | 
            +
                    end
         | 
| 43 44 | 
             
                  end
         | 
| 44 45 | 
             
                end
         | 
| 45 46 | 
             
              end
         | 
| @@ -50,7 +51,7 @@ class UsersController < ApplicationController | |
| 50 51 | 
             
                  current_user.activate!
         | 
| 51 52 | 
             
                  flash[:notice] = "Signup complete!"
         | 
| 52 53 | 
             
                end
         | 
| 53 | 
            -
                redirect_back_or_default( | 
| 54 | 
            +
                redirect_back_or_default(root_url)
         | 
| 54 55 | 
             
              end
         | 
| 55 56 |  | 
| 56 57 | 
             
              def suspend
         | 
| @@ -84,4 +85,4 @@ protected | |
| 84 85 | 
             
                User.count == 0
         | 
| 85 86 | 
             
              end
         | 
| 86 87 |  | 
| 87 | 
            -
            end
         | 
| 88 | 
            +
            end
         | 
| @@ -121,6 +121,10 @@ class User < ActiveRecord::Base | |
| 121 121 | 
             
                @activated
         | 
| 122 122 | 
             
              end
         | 
| 123 123 |  | 
| 124 | 
            +
              def ui_deletable?(current_user = self)
         | 
| 125 | 
            +
                !self.superuser and User.count > 1 and (current_user.nil? or self.id != current_user.id)
         | 
| 126 | 
            +
              end
         | 
| 127 | 
            +
             | 
| 124 128 | 
             
              protected
         | 
| 125 129 | 
             
                # before filter
         | 
| 126 130 | 
             
                def encrypt_password
         | 
| @@ -16,7 +16,7 @@ | |
| 16 16 | 
             
                          <%= link_to refinery_icon_tag('delete.png'), admin_user_path(user),
         | 
| 17 17 | 
             
                            :confirm => "Are you sure you want to delete '#{user.login}'?",
         | 
| 18 18 | 
             
                            :class => "cancel", :method => :delete,
         | 
| 19 | 
            -
                            :title => "Remove this user forever" if  | 
| 19 | 
            +
                            :title => "Remove this user forever" if user.ui_deletable?(current_user) %>
         | 
| 20 20 | 
             
                          <%= link_to refinery_icon_tag('application_edit.png'), edit_admin_user_path(user),
         | 
| 21 21 | 
             
                            :title => 'Edit this user' %>
         | 
| 22 22 | 
             
                          <%= mail_to user.email, refinery_icon_tag('email_go.png'), :title => 'Email this user' %>
         | 
| @@ -9,7 +9,7 @@ | |
| 9 9 | 
             
              </div>
         | 
| 10 10 | 
             
            </div>
         | 
| 11 11 | 
             
            <% unless @page.live? %>
         | 
| 12 | 
            -
              <div  | 
| 12 | 
            +
              <div class='page_not_live'>
         | 
| 13 13 | 
             
                This page is NOT live for public viewing.
         | 
| 14 14 | 
             
              </div>
         | 
| 15 15 | 
             
            <% end %>
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: refinerycms
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              version: 0.9.5. | 
| 4 | 
            +
              version: 0.9.5.22
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors: 
         | 
| 7 7 | 
             
            - Resolve Digital
         | 
| @@ -11,7 +11,7 @@ autorequire: | |
| 11 11 | 
             
            bindir: bin
         | 
| 12 12 | 
             
            cert_chain: []
         | 
| 13 13 |  | 
| 14 | 
            -
            date: 2009-12- | 
| 14 | 
            +
            date: 2009-12-08 00:00:00 +13:00
         | 
| 15 15 | 
             
            default_executable: 
         | 
| 16 16 | 
             
            dependencies: []
         | 
| 17 17 |  | 
| @@ -58,6 +58,7 @@ files: | |
| 58 58 | 
             
            - db/migrate/20091029034951_remove_blurb_from_news_items.rb
         | 
| 59 59 | 
             
            - db/migrate/20091109012126_add_missing_indexes.rb
         | 
| 60 60 | 
             
            - db/migrate/20091130040711_add_down_for_maintenance_page.rb
         | 
| 61 | 
            +
            - db/migrate/20091207033335_add_superuser_to_users.rb
         | 
| 61 62 | 
             
            - db/schema.rb
         | 
| 62 63 | 
             
            - db/seeds.rb
         | 
| 63 64 | 
             
            - lib/refinery_initializer.rb
         |