Merge default => dev

--HG--
branch : dev
This commit is contained in:
Renaud Paquay
2010-12-11 14:19:15 -08:00
29 changed files with 10 additions and 4436 deletions

View File

@@ -1,53 +0,0 @@
/* http://meyerweb.com/eric/tools/css/reset/ */
/* v1.0 | 20080212 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
vertical-align: baseline;
background: transparent;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
/* remember to define focus styles! */
:focus {
outline: 0;
}
/* remember to highlight inserts somehow! */
ins {
text-decoration: none;
}
del {
text-decoration: line-through;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
border-collapse: collapse;
border-spacing: 0;
}

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
http://www.sqlite.org/copyright.html

Binary file not shown.

View File

@@ -1,8 +0,0 @@
<configuration>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SQLite"/>
<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
</DbProviderFactories>
</system.data>
</configuration>

Binary file not shown.

View File

@@ -1,8 +0,0 @@
<configuration>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SQLite"/>
<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
</DbProviderFactories>
</system.data>
</configuration>

View File

@@ -1,7 +0,0 @@
/*
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.7.0
*/
body{text-align:center;}#doc,#doc2,#doc3,#doc4,.yui-t1,.yui-t2,.yui-t3,.yui-t4,.yui-t5,.yui-t6,.yui-t7{margin:auto;text-align:left;width:57.69em;*width:56.25em;}#doc2{width:73.076em;*width:71.25em;}#doc3{margin:auto 10px;width:auto;}#doc4{width:74.923em;*width:73.05em;}.yui-b{position:relative;}.yui-b{_position:static;}#yui-main .yui-b{position:static;}#yui-main,.yui-g .yui-u .yui-g{width:100%;}.yui-t1 #yui-main,.yui-t2 #yui-main,.yui-t3 #yui-main{float:right;margin-left:-25em;}.yui-t4 #yui-main,.yui-t5 #yui-main,.yui-t6 #yui-main{float:left;margin-right:-25em;}.yui-t1 .yui-b{float:left;width:12.30769em;*width:12.00em;}.yui-t1 #yui-main .yui-b{margin-left:13.30769em;*margin-left:13.05em;}.yui-t2 .yui-b{float:left;width:13.8461em;*width:13.50em;}.yui-t2 #yui-main .yui-b{margin-left:14.8461em;*margin-left:14.55em;}.yui-t3 .yui-b{float:left;width:23.0769em;*width:22.50em;}.yui-t3 #yui-main .yui-b{margin-left:24.0769em;*margin-left:23.62em;}.yui-t4 .yui-b{float:right;width:13.8456em;*width:13.50em;}.yui-t4 #yui-main .yui-b{margin-right:14.8456em;*margin-right:14.55em;}.yui-t5 .yui-b{float:right;width:18.4615em;*width:18.00em;}.yui-t5 #yui-main .yui-b{margin-right:19.4615em;*margin-right:19.125em;}.yui-t6 .yui-b{float:right;width:23.0769em;*width:22.50em;}.yui-t6 #yui-main .yui-b{margin-right:24.0769em;*margin-right:23.62em;}.yui-t7 #yui-main .yui-b{display:block;margin:0 0 1em 0;}#yui-main .yui-b{float:none;width:auto;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf,.yui-gc .yui-u,.yui-gd .yui-g,.yui-g .yui-gc .yui-u,.yui-ge .yui-u,.yui-ge .yui-g,.yui-gf .yui-g,.yui-gf .yui-u{float:right;}.yui-g div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first,.yui-ge div.first,.yui-gf div.first,.yui-g .yui-gc div.first,.yui-g .yui-ge div.first,.yui-gc div.first div.first{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf{width:49.1%;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{width:32%;margin-left:1.99%;}.yui-gb .yui-u{*margin-left:1.9%;*width:31.9%;}.yui-gc div.first,.yui-gd .yui-u{width:66%;}.yui-gd div.first{width:32%;}.yui-ge div.first,.yui-gf .yui-u{width:74.2%;}.yui-ge .yui-u,.yui-gf div.first{width:24%;}.yui-g .yui-gb div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first{margin-left:0;}.yui-g .yui-g .yui-u,.yui-gb .yui-g .yui-u,.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u,.yui-ge .yui-g .yui-u,.yui-gf .yui-g .yui-u{width:49%;*width:48.1%;*margin-left:0;}.yui-g .yui-g .yui-u{width:48.1%;}.yui-g .yui-gb div.first,.yui-gb .yui-gb div.first{*margin-right:0;*width:32%;_width:31.7%;}.yui-g .yui-gc div.first,.yui-gd .yui-g{width:66%;}.yui-gb .yui-g div.first{*margin-right:4%;_margin-right:1.3%;}.yui-gb .yui-gc div.first,.yui-gb .yui-gd div.first{*margin-right:0;}.yui-gb .yui-gb .yui-u,.yui-gb .yui-gc .yui-u{*margin-left:1.8%;_margin-left:4%;}.yui-g .yui-gb .yui-u{_margin-left:1.0%;}.yui-gb .yui-gd .yui-u{*width:66%;_width:61.2%;}.yui-gb .yui-gd div.first{*width:31%;_width:29.5%;}.yui-g .yui-gc .yui-u,.yui-gb .yui-gc .yui-u{width:32%;_float:right;margin-right:0;_margin-left:0;}.yui-gb .yui-gc div.first{width:66%;*float:left;*margin-left:0;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf .yui-u{margin:0;}.yui-gb .yui-gb .yui-u{_margin-left:.7%;}.yui-gb .yui-g div.first,.yui-gb .yui-gb div.first{*margin-left:0;}.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u{*width:48.1%;*margin-left:0;}.yui-gb .yui-gd div.first{width:32%;}.yui-g .yui-gd div.first{_width:29.9%;}.yui-ge .yui-g{width:24%;}.yui-gf .yui-g{width:74.2%;}.yui-gb .yui-ge div.yui-u,.yui-gb .yui-gf div.yui-u{float:right;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf div.first{float:left;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf div.first{*width:24%;_width:20%;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf .yui-u{*width:73.5%;_width:65.5%;}.yui-ge div.first .yui-gd .yui-u{width:65%;}.yui-ge div.first .yui-gd div.first{width:32%;}#hd:after,#bd:after,#ft:after,.yui-g:after,.yui-gb:after,.yui-gc:after,.yui-gd:after,.yui-ge:after,.yui-gf:after{content:".";display:block;height:0;clear:both;visibility:hidden;}#hd,#bd,#ft,.yui-g,.yui-gb,.yui-gc,.yui-gd,.yui-ge,.yui-gf{zoom:1;}

View File

@@ -1,467 +0,0 @@
/*
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.7.0
*/
/**
* YUI Grids
* @module grids
* @namespace yui-
* @requires reset, fonts
*/
/**
* Note: Throughout this file, the *property (star-property) filter is used
* to give a value to IE that other browsers do not see. _property is only seen
* by IE7, so the combo of *prop and _prop can target between IE6 and IE7.
*
* More information on these filters and related validation errors:
* http://tech.groups.yahoo.com/group/ydn-javascript/message/40059
*/
/**
* Section: General Rules
*/
body {
text-align: center;
}
/**
* Section: Page Width Rules (#doc, #doc2, #doc3, #doc4)
*/
#doc,#doc2,#doc3,#doc4,
.yui-t1,.yui-t2,.yui-t3,.yui-t4,.yui-t5,.yui-t6,.yui-t7 {
margin: auto;
text-align: left;
width: 57.69em;
*width: 56.25em;
}
/* 950 Centered (doc2) */
#doc2 {
width: 73.076em;
*width: 71.25em;
}
/* 100% (doc3) */
#doc3 {
/**
* Left and Right margins are not a structural part of Grids. Without them
* Grids works fine, but content bleeds to the very edge of the document, which
* often impairs readability and usability. They are provided because they
* prevent the content from "bleeding" into the browser's chrome.
*/
margin: auto 10px;
width: auto;
}
/* 974 Centered (doc4) */
#doc4 {
width: 74.923em;
*width: 73.05em;
}
/**
* Section: Preset Template Rules (.yui-t[1-6])
*/
.yui-b {
/* to preserve source-order independence for Gecko */
position: relative;
}
.yui-b {
/* to preserve source-order independence for IE */
_position: static;
}
#yui-main .yui-b {
/* to preserve source-order independence for Gecko */
position: static;
}
#yui-main,
.yui-g .yui-u .yui-g {
width: 100%;
}
.yui-t1 #yui-main,
.yui-t2 #yui-main,
.yui-t3 #yui-main {
float: right;
/* IE: preserve layout at narrow widths */
margin-left: -25em;
}
.yui-t4 #yui-main,
.yui-t5 #yui-main,
.yui-t6 #yui-main {
float: left;
/* IE: preserve layout at narrow widths */
margin-right: -25em;
}
/**
* For Specific Template Presets
*/
.yui-t1 .yui-b {
float: left;
width: 12.30769em;
*width: 12.00em;
}
.yui-t1 #yui-main .yui-b {
margin-left: 13.30769em;
*margin-left: 13.05em;
}
.yui-t2 .yui-b {
float: left;
width: 13.8461em;
*width: 13.50em;
}
.yui-t2 #yui-main .yui-b {
margin-left: 14.8461em;
*margin-left: 14.55em;
}
.yui-t3 .yui-b {
float: left;
width: 23.0769em;
*width: 22.50em;
}
.yui-t3 #yui-main .yui-b {
margin-left: 24.0769em;
*margin-left: 23.62em;
}
.yui-t4 .yui-b {
float: right;
width: 13.8456em;
*width: 13.50em;
}
.yui-t4 #yui-main .yui-b {
margin-right: 14.8456em;
*margin-right: 14.55em;
}
.yui-t5 .yui-b {
float: right;
width: 18.4615em;
*width: 18.00em;
}
.yui-t5 #yui-main .yui-b {
margin-right: 19.4615em;
*margin-right: 19.125em;
}
.yui-t6 .yui-b {
float: right;
width: 23.0769em;
*width: 22.50em;
}
.yui-t6 #yui-main .yui-b {
margin-right: 24.0769em;
*margin-right: 23.62em;
}
.yui-t7 #yui-main .yui-b {
display: block;
margin: 0 0 1em 0;
}
#yui-main .yui-b {
float: none;
width: auto;
}
/**
* Section: Grids and Nesting Grids
*/
/* Children generally take half the available space */
.yui-gb .yui-u,
.yui-g .yui-gb .yui-u,
.yui-gb .yui-g,
.yui-gb .yui-gb,
.yui-gb .yui-gc,
.yui-gb .yui-gd,
.yui-gb .yui-ge,
.yui-gb .yui-gf,
.yui-gc .yui-u,
.yui-gc .yui-g,
.yui-gd .yui-u {
float: left;
}
/* Float units (and sub grids) to the right */
.yui-g .yui-u,
.yui-g .yui-g,
.yui-g .yui-gb,
.yui-g .yui-gc,
.yui-g .yui-gd,
.yui-g .yui-ge,
.yui-g .yui-gf,
.yui-gc .yui-u,
.yui-gd .yui-g,
.yui-g .yui-gc .yui-u,
.yui-ge .yui-u,
.yui-ge .yui-g,
.yui-gf .yui-g,
.yui-gf .yui-u {
float: right;
}
/*Float units (and sub grids) to the left */
.yui-g div.first,
.yui-gb div.first,
.yui-gc div.first,
.yui-gd div.first,
.yui-ge div.first,
.yui-gf div.first,
.yui-g .yui-gc div.first,
.yui-g .yui-ge div.first,
.yui-gc div.first div.first {
float: left;
}
.yui-g .yui-u,
.yui-g .yui-g,
.yui-g .yui-gb,
.yui-g .yui-gc,
.yui-g .yui-gd,
.yui-g .yui-ge,
.yui-g .yui-gf {
width: 49.1%;
}
.yui-gb .yui-u,
.yui-g .yui-gb .yui-u,
.yui-gb .yui-g,
.yui-gb .yui-gb,
.yui-gb .yui-gc,
.yui-gb .yui-gd,
.yui-gb .yui-ge,
.yui-gb .yui-gf,
.yui-gc .yui-u,
.yui-gc .yui-g,
.yui-gd .yui-u {
width: 32%;
margin-left: 1.99%;
}
/* Give IE some extra breathing room for 1/3-based rounding issues */
.yui-gb .yui-u {
*margin-left: 1.9%;
*width: 31.9%;
}
.yui-gc div.first,
.yui-gd .yui-u {
width: 66%;
}
.yui-gd div.first {
width: 32%;
}
.yui-ge div.first,
.yui-gf .yui-u {
width: 74.2%;
}
.yui-ge .yui-u,
.yui-gf div.first {
width: 24%;
}
.yui-g .yui-gb div.first,
.yui-gb div.first,
.yui-gc div.first,
.yui-gd div.first {
margin-left: 0;
}
/**
* Section: Deep Nesting
*/
.yui-g .yui-g .yui-u,
.yui-gb .yui-g .yui-u,
.yui-gc .yui-g .yui-u,
.yui-gd .yui-g .yui-u,
.yui-ge .yui-g .yui-u,
.yui-gf .yui-g .yui-u {
width: 49%;
*width: 48.1%;
*margin-left: 0;
}
.yui-g .yui-g .yui-u {
width: 48.1%;
}
/*SF 1927599 from 1.14 to 2.6.0*/
.yui-g .yui-gb div.first,
.yui-gb .yui-gb div.first {
*margin-right: 0;
*width: 32%;
_width: 31.7%;
}
.yui-g .yui-gc div.first,
.yui-gd .yui-g {
width: 66%;
}
.yui-gb .yui-g div.first {
*margin-right: 4%;
_margin-right: 1.3%;
}
.yui-gb .yui-gc div.first,
.yui-gb .yui-gd div.first {
*margin-right: 0;
}
.yui-gb .yui-gb .yui-u,
.yui-gb .yui-gc .yui-u {
*margin-left: 1.8%;
_margin-left: 4%;
}
.yui-g .yui-gb .yui-u {
_margin-left: 1.0%;
}
.yui-gb .yui-gd .yui-u {
*width: 66%;
_width: 61.2%;
}
.yui-gb .yui-gd div.first {
*width: 31%;
_width: 29.5%;
}
.yui-g .yui-gc .yui-u,
.yui-gb .yui-gc .yui-u {
width: 32%;
_float: right;
margin-right: 0;
_margin-left: 0;
}
.yui-gb .yui-gc div.first {
width: 66%;
*float: left;
*margin-left: 0;
}
.yui-gb .yui-ge .yui-u,
.yui-gb .yui-gf .yui-u {
margin: 0;
}
.yui-gb .yui-gb .yui-u {
_margin-left: .7%;
}
.yui-gb .yui-g div.first,
.yui-gb .yui-gb div.first {
*margin-left: 0;
}
.yui-gc .yui-g .yui-u,
.yui-gd .yui-g .yui-u {
*width: 48.1%;
*margin-left: 0;
}
.yui-gb .yui-gd div.first {
width: 32%;
}
.yui-g .yui-gd div.first {
_width: 29.9%;
}
.yui-ge .yui-g {
width: 24%;
}
.yui-gf .yui-g {
width: 74.2%;
}
.yui-gb .yui-ge div.yui-u,
.yui-gb .yui-gf div.yui-u {
float: right;
}
.yui-gb .yui-ge div.first,
.yui-gb .yui-gf div.first {
float: left;
}
/* Width Accommodation for Nested Contexts */
.yui-gb .yui-ge .yui-u,
.yui-gb .yui-gf div.first {
*width: 24%;
_width: 20%;
}
/* Width Accommodation for Nested Contexts */
.yui-gb .yui-ge div.first,
.yui-gb .yui-gf .yui-u {
*width: 73.5%;
_width: 65.5%;
}
/* Patch for GD within GE */
.yui-ge div.first .yui-gd .yui-u {
width: 65%;
}
.yui-ge div.first .yui-gd div.first {
width: 32%;
}
/* @group Clearing */
#hd:after,
#bd:after,
#ft:after,
.yui-g:after,
.yui-gb:after,
.yui-gc:after,
.yui-gd:after,
.yui-ge:after,
.yui-gf:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
#hd,
#bd,
#ft,
.yui-g,
.yui-gb,
.yui-gc,
.yui-gd,
.yui-ge,
.yui-gf {
zoom: 1;
}

View File

@@ -1,7 +0,0 @@
/*
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.7.0
*/
html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit;}del,ins{text-decoration:none;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:baseline;}sub{vertical-align:baseline;}legend{color:#000;}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}input,button,textarea,select{*font-size:100%;}

View File

@@ -1,142 +0,0 @@
/*
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.7.0
*/
/**
* YUI Reset
* @module reset
* @namespace
* @requires
*/
html {
color: #000;
background: #FFF;
}
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
button,
textarea,
p,
blockquote,
th,
td {
margin: 0;
padding: 0;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
fieldset,
img {
border: 0;
}
address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var,
optgroup {
font-style: inherit;
font-weight: inherit;
}
del,
ins {
text-decoration: none;
}
li {
list-style: none;
}
caption,
th {
text-align: left;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-size: 100%;
font-weight: normal;
}
q:before,
q:after {
content: '';
}
abbr,
acronym {
border: 0;
font-variant: normal;
}
sup {
vertical-align: baseline;
}
sub {
vertical-align: baseline;
}
/*because legend doesn't inherit in IE */
legend {
color: #000;
}
input,
button,
textarea,
select,
optgroup,
option {
font-family: inherit;
font-size: inherit;
font-style: inherit;
font-weight: inherit;
}
/*@purpose To enable resizing for IE */
/*@branch For IE6-Win, IE7-Win */
input,
button,
textarea,
select {
*font-size: 100%;
}

View File

@@ -1,49 +0,0 @@
using System.Collections.Generic;
using System.Web.Mvc;
using NUnit.Framework;
using Orchard.Mvc.ModelBinders;
namespace Orchard.Tests.Mvc.ModelBinders {
[TestFixture]
public class KeyedListModelBinderTests {
private class Foo {
public string Name { get; set; }
public string Value { get; set; }
}
[Test]
public void BinderShouldBindValues() {
var controllerContext = new ControllerContext();
var binders = new ModelBinderDictionary {
{ typeof(Foo), new DefaultModelBinder() }
};
var input = new FormCollection {
{ "fooInstance[Bar1].Value", "bar1value" },
{ "fooInstance[Bar2].Value", "bar2value" }
};
var foos = new[] {
new Foo {Name = "Bar1", Value = "uno"},
new Foo {Name = "Bar2", Value = "dos"},
new Foo {Name = "Bar3", Value = "tres"},
};
var providers = new EmptyModelMetadataProvider();
var bindingContext = new ModelBindingContext {
ModelMetadata = providers.GetMetadataForType(() => foos, foos.GetType()),
ModelName = "fooInstance",
ValueProvider = input.ToValueProvider()
};
var binder = new KeyedListModelBinder<Foo>(binders, foo => foo.Name);
var result = (IList<Foo>)binder.BindModel(controllerContext, bindingContext);
Assert.That(result.Count, Is.EqualTo(3));
Assert.That(result[0].Value, Is.EqualTo("bar1value"));
Assert.That(result[1].Value, Is.EqualTo("bar2value"));
}
}
}

View File

@@ -272,7 +272,6 @@
<Compile Include="Environment\Extensions\ExtensionTypes\StubTypes.cs" />
<Compile Include="Localization\NullLocalizerTests.cs" />
<Compile Include="Logging\LoggingModuleTests.cs" />
<Compile Include="Mvc\ModelBinders\KeyedListModelBinderTests.cs" />
<Compile Include="Mvc\OrchardControllerFactoryTests.cs" />
<Compile Include="Mvc\RouteCollectionPublisherTests.cs" />
<Compile Include="Mvc\Routes\StandardExtensionRouteProviderTests.cs" />

View File

@@ -4,7 +4,7 @@ Author: The Orchard Team
Website: http://orchardproject.net
Version: 0.8.0
OrchardVersion: 0.8.0
Description: The ArhiveLater module introduces scheduled archiving functionality.
Description: The ArchiveLater module introduces scheduled archiving functionality.
Features:
Orchard.ArchiveLater:
Name: Archive Later

View File

@@ -1,4 +1,5 @@
using System.Linq;
using System.Reflection;
using System.Web.Mvc;
using Orchard.Blogs.Extensions;
using Orchard.Blogs.Models;
@@ -54,7 +55,7 @@ namespace Orchard.Blogs.Controllers {
if (!Services.Authorizer.Authorize(Permissions.ManageBlogs, T("Not allowed to create blogs")))
return new HttpUnauthorizedResult();
var blog = Services.ContentManager.New<BlogPart>("Blog");
BlogPart blog = Services.ContentManager.New<BlogPart>("Blog");
if (blog == null)
return HttpNotFound();

View File

@@ -97,3 +97,4 @@ namespace Orchard.Blogs.Controllers {
}
}
}
}

View File

@@ -1,4 +1,4 @@
Name: Code generation
Name: Code Generation
AntiForgery: enabled
Author: The Orchard Team
Website: http://orchardproject.net

View File

@@ -4,7 +4,7 @@ using Orchard.Security.Permissions;
namespace Orchard.Roles.ViewModels {
public class RoleCreateViewModel {
[Required]
[Required, StringLength(255)]
public string Name { get; set; }
public IDictionary<string, IEnumerable<Permission>> FeaturePermissions { get; set; }
}

View File

@@ -5,7 +5,7 @@ using Orchard.Security.Permissions;
namespace Orchard.Roles.ViewModels {
public class RoleEditViewModel {
public int Id { get; set; }
[Required]
[Required, StringLength(255)]
public string Name { get; set; }
public IDictionary<string, IEnumerable<Permission>> RoleCategoryPermissions { get; set; }
public IEnumerable<string> CurrentPermissions { get; set; }

View File

@@ -1,3 +1,4 @@
using System.Reflection;
using Orchard.Environment;
using Orchard.Localization;

View File

@@ -1,5 +1,4 @@

namespace Orchard.Environment {
namespace Orchard.Environment {
/// <summary>
/// Abstraction of the running environment
/// </summary>
@@ -11,4 +10,3 @@ namespace Orchard.Environment {
void RestartAppDomain();
}
}

View File

@@ -1,50 +0,0 @@
using System;
using System.Collections.Generic;
using System.Web.Mvc;
namespace Orchard.Mvc.ModelBinders {
public class KeyedListModelBinder<T> : IModelBinder {
private readonly ModelBinderDictionary _binders;
private readonly ModelMetadataProvider _providers;
private readonly Func<T, string> _keySelector;
public KeyedListModelBinder(
ModelBinderDictionary binders,
Func<T, string> keySelector) {
_binders = binders;
_providers = ModelMetadataProviders.Current;
_keySelector = keySelector;
}
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) {
var binder = _binders.GetBinder(typeof(T));
// given an existing collection
var model = (IList<T>)bindingContext.Model;
if (model != null) {
foreach (var item in model) {
// only update non-null collections
if (Equals(item, default(T)))
continue;
// that have a key value
var key = _keySelector(item);
if (string.IsNullOrEmpty(key))
continue;
// use the configured binder to update the rest of the properties on the object
var currentItem = item;
var itemContext = new ModelBindingContext {
ModelMetadata = _providers.GetMetadataForType(() => currentItem, typeof(T)),
ModelName = bindingContext.ModelName + "[" + key + "]",
ModelState = bindingContext.ModelState,
PropertyFilter = bindingContext.PropertyFilter,
ValueProvider = bindingContext.ValueProvider,
};
binder.BindModel(controllerContext, itemContext);
}
}
return model;
}
}
}

View File

@@ -739,7 +739,6 @@
<Compile Include="Mvc\ModelBinders\ModelBinderPublisher.cs" />
<Compile Include="Mvc\ModelBinders\IModelBinderProvider.cs" />
<Compile Include="Mvc\ModelBinders\IModelBinderPublisher.cs" />
<Compile Include="Mvc\ModelBinders\KeyedListModelBinder.cs" />
<Compile Include="Mvc\ModelBinders\ModelBinderDescriptor.cs" />
<Compile Include="Mvc\Routes\RouteExtensions.cs" />
<Compile Include="Mvc\ViewEngines\IViewEngineProvider.cs" />

View File

@@ -2,6 +2,7 @@ using System;
using System.IO;
using System.Linq;
using System.Security;
using System.Web;
using System.Web.Compilation;
using System.Web.Hosting;
using Orchard.Host;