diff options
| author | Tristan Zur <tzur@ccwn.org> | 2012-05-18 19:03:16 +0200 |
|---|---|---|
| committer | Tristan Zur <tzur@ccwn.org> | 2012-05-18 19:03:16 +0200 |
| commit | 0567da9fd246e495345df1bdf8fc947d5fbe695d (patch) | |
| tree | 8743516939a5256f45143e989ba545f268dce270 /protected | |
| parent | 586e35130d97d2829620e03167797b06d7fe07f2 (diff) | |
- Speis & Trank (Vereine): Bedienung vereinfacht, Implementierung zur
Erstellung neuer Angebote gesäubert
- SiteController: Schreibfehler in URL korrigiert
- Html component: Wrapper zum registrieren von JS-Dateien hinzugefügt
- main layout: Javascript-String Funktionen JS-Datei registriert
Diffstat (limited to 'protected')
| -rw-r--r-- | protected/components/Html.php | 8 | ||||
| -rw-r--r-- | protected/controllers/MyAngebotController.php | 6 | ||||
| -rw-r--r-- | protected/controllers/SiteController.php | 2 | ||||
| -rw-r--r-- | protected/runtime/application.log | 74 | ||||
| -rw-r--r-- | protected/views/layouts/main.php | 2 | ||||
| -rw-r--r-- | protected/views/myAngebot/_angebot_form.php | 12 | ||||
| -rw-r--r-- | protected/views/myAngebot/_form.php | 93 |
7 files changed, 107 insertions, 90 deletions
diff --git a/protected/components/Html.php b/protected/components/Html.php index 38128d5..5d1e3e5 100644 --- a/protected/components/Html.php +++ b/protected/components/Html.php @@ -15,8 +15,12 @@ class Html extends CHtml { /** * Makes the given URL relative to the /js directory */ - public static function jsUrl($url) { - return Yii::app()->baseUrl.'/js/'.$url; + public static function jsUrl($filename) { + return Yii::app()->baseUrl.'/js/'.$filename; + } + + public static function registerJavascript($filename) { + Yii::app()->getClientScript()->registerScriptFile(self::jsUrl($filename)); } public static function enumItem($model, $attribute) { diff --git a/protected/controllers/MyAngebotController.php b/protected/controllers/MyAngebotController.php index 0072e61..b85846e 100644 --- a/protected/controllers/MyAngebotController.php +++ b/protected/controllers/MyAngebotController.php @@ -105,7 +105,9 @@ class MyAngebotController extends Controller $model->published = true;
if (Yii::app()->request->isAjaxRequest) { - if(isset($_POST['Angebot'])) {
+ if (isset($_POST['angebot_name'])) { + $model->name = $_POST['angebot_name']; + } else if (isset($_POST['Angebot'])) {
$model->attributes = $_POST['Angebot']; if ($model->save()) { echo CJSON::encode(array(
@@ -117,6 +119,8 @@ class MyAngebotController extends Controller )); exit; } + } else { + throw new CHttpException(400); } $kategorien = Kategorie::model()->findAll(array("condition"=>"published=1"));
diff --git a/protected/controllers/SiteController.php b/protected/controllers/SiteController.php index 2ee57b9..cfb6c3c 100644 --- a/protected/controllers/SiteController.php +++ b/protected/controllers/SiteController.php @@ -30,7 +30,7 @@ class SiteController extends Controller if (!Yii::app()->user->isGuest && Yii::app()->user->isAdmin) { $this->redirect(array("/verein/index")); } - $this->redirect(array("/myverein/")); + $this->redirect(array("/myVerein/")); } /** diff --git a/protected/runtime/application.log b/protected/runtime/application.log index 7e750aa..11a2fc4 100644 --- a/protected/runtime/application.log +++ b/protected/runtime/application.log @@ -6612,3 +6612,77 @@ REQUEST_URI=/admin.astaf.de/index.php?r=myAngebot/createAngebot in D:\Projects\Astaf\workspace\admin.astaf.de\protected\views\myAngebot\_angebot_form.php (14) in D:\Projects\Astaf\workspace\admin.astaf.de\protected\controllers\MyAngebotController.php (120) in D:\Projects\Astaf\workspace\admin.astaf.de\index.php (13) +2012/05/18 15:00:33 [error] [exception.CHttpException.400] exception 'CHttpException' with message 'Ihre Anfrage ist ungültig.' in D:\Projects\Astaf\workspace\yii\framework\web\CController.php:337 +Stack trace: +#0 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(310): CController->invalidActionParams(Object(CInlineAction)) +#1 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(134): CController->runAction(Object(CInlineAction)) +#2 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilter.php(41): CFilterChain->run() +#3 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(1146): CFilter->filter(Object(CFilterChain)) +#4 D:\Projects\Astaf\workspace\yii\framework\web\filters\CInlineFilter.php(59): CController->filterAccessControl(Object(CFilterChain)) +#5 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(131): CInlineFilter->filter(Object(CFilterChain)) +#6 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(292): CFilterChain->run() +#7 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(266): CController->runActionWithFilters(Object(CInlineAction), Array) +#8 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(276): CController->run('createAngebot') +#9 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(135): CWebApplication->runController('myAngebot/creat...') +#10 D:\Projects\Astaf\workspace\yii\framework\base\CApplication.php(162): CWebApplication->processRequest() +#11 D:\Projects\Astaf\workspace\admin.astaf.de\index.php(13): CApplication->run() +#12 {main} +REQUEST_URI=/admin.astaf.de/index.php?r=myAngebot/createAngebot +HTTP_REFERER=http://dev.astaf.de:90/admin.astaf.de/index.php?r=myAngebot/create +--- +2012/05/18 15:01:53 [error] [exception.CHttpException.400] exception 'CHttpException' with message 'Ihre Anfrage ist ungültig.' in D:\Projects\Astaf\workspace\yii\framework\web\CController.php:337 +Stack trace: +#0 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(310): CController->invalidActionParams(Object(CInlineAction)) +#1 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(134): CController->runAction(Object(CInlineAction)) +#2 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilter.php(41): CFilterChain->run() +#3 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(1146): CFilter->filter(Object(CFilterChain)) +#4 D:\Projects\Astaf\workspace\yii\framework\web\filters\CInlineFilter.php(59): CController->filterAccessControl(Object(CFilterChain)) +#5 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(131): CInlineFilter->filter(Object(CFilterChain)) +#6 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(292): CFilterChain->run() +#7 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(266): CController->runActionWithFilters(Object(CInlineAction), Array) +#8 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(276): CController->run('createAngebot') +#9 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(135): CWebApplication->runController('myAngebot/creat...') +#10 D:\Projects\Astaf\workspace\yii\framework\base\CApplication.php(162): CWebApplication->processRequest() +#11 D:\Projects\Astaf\workspace\admin.astaf.de\index.php(13): CApplication->run() +#12 {main} +REQUEST_URI=/admin.astaf.de/index.php?r=myAngebot/createAngebot +HTTP_REFERER=http://dev.astaf.de:90/admin.astaf.de/index.php?r=myAngebot/create +--- +2012/05/18 15:07:36 [error] [exception.CHttpException.400] exception 'CHttpException' in D:\Projects\Astaf\workspace\admin.astaf.de\protected\controllers\MyAngebotController.php:131 +Stack trace: +#0 D:\Projects\Astaf\workspace\yii\framework\web\actions\CInlineAction.php(50): MyAngebotController->actionCreateAngebot() +#1 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(309): CInlineAction->runWithParams(Array) +#2 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(134): CController->runAction(Object(CInlineAction)) +#3 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilter.php(41): CFilterChain->run() +#4 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(1146): CFilter->filter(Object(CFilterChain)) +#5 D:\Projects\Astaf\workspace\yii\framework\web\filters\CInlineFilter.php(59): CController->filterAccessControl(Object(CFilterChain)) +#6 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(131): CInlineFilter->filter(Object(CFilterChain)) +#7 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(292): CFilterChain->run() +#8 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(266): CController->runActionWithFilters(Object(CInlineAction), Array) +#9 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(276): CController->run('createAngebot') +#10 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(135): CWebApplication->runController('myAngebot/creat...') +#11 D:\Projects\Astaf\workspace\yii\framework\base\CApplication.php(162): CWebApplication->processRequest() +#12 D:\Projects\Astaf\workspace\admin.astaf.de\index.php(13): CApplication->run() +#13 {main} +REQUEST_URI=/admin.astaf.de/index.php?r=myAngebot/createAngebot +HTTP_REFERER=http://dev.astaf.de:90/admin.astaf.de/index.php?r=myAngebot/create +--- +2012/05/18 15:08:02 [error] [exception.CHttpException.400] exception 'CHttpException' in D:\Projects\Astaf\workspace\admin.astaf.de\protected\controllers\MyAngebotController.php:131 +Stack trace: +#0 D:\Projects\Astaf\workspace\yii\framework\web\actions\CInlineAction.php(50): MyAngebotController->actionCreateAngebot() +#1 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(309): CInlineAction->runWithParams(Array) +#2 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(134): CController->runAction(Object(CInlineAction)) +#3 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilter.php(41): CFilterChain->run() +#4 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(1146): CFilter->filter(Object(CFilterChain)) +#5 D:\Projects\Astaf\workspace\yii\framework\web\filters\CInlineFilter.php(59): CController->filterAccessControl(Object(CFilterChain)) +#6 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(131): CInlineFilter->filter(Object(CFilterChain)) +#7 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(292): CFilterChain->run() +#8 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(266): CController->runActionWithFilters(Object(CInlineAction), Array) +#9 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(276): CController->run('createAngebot') +#10 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(135): CWebApplication->runController('myAngebot/creat...') +#11 D:\Projects\Astaf\workspace\yii\framework\base\CApplication.php(162): CWebApplication->processRequest() +#12 D:\Projects\Astaf\workspace\admin.astaf.de\index.php(13): CApplication->run() +#13 {main} +REQUEST_URI=/admin.astaf.de/index.php?r=myAngebot/createAngebot +HTTP_REFERER=http://dev.astaf.de:90/admin.astaf.de/index.php?r=myAngebot/create +--- diff --git a/protected/views/layouts/main.php b/protected/views/layouts/main.php index 0f37cf2..7a9f52e 100644 --- a/protected/views/layouts/main.php +++ b/protected/views/layouts/main.php @@ -13,6 +13,8 @@ <link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/main.css" /> <link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/form.css" /> + <?php Html::registerJavascript("string.js"); ?> + <title><?php echo CHtml::encode($this->pageTitle); ?></title> </head> diff --git a/protected/views/myAngebot/_angebot_form.php b/protected/views/myAngebot/_angebot_form.php index ca1ba6f..2ec84e7 100644 --- a/protected/views/myAngebot/_angebot_form.php +++ b/protected/views/myAngebot/_angebot_form.php @@ -1,14 +1,12 @@ <div class="form"> <?php $form=$this->beginWidget('CActiveForm', array( - 'id'=>'angebot-form', - 'enableAjaxValidation'=>false, + 'id'=>'angebot-dialog-form', + 'enableAjaxValidation'=>true, )); ?> <?php $this->renderPartial('/common/_required_fields_text'); ?> - <?php echo $form->errorSummary($model); ?> - <div class="row"> <?php echo $form->labelEx($model,'kategorie_id'); ?> <?php echo $form->dropDownList($model, "kategorie_id", CHtml::listData($kategorien, "id", "name"), array('empty' => '-- Bitte Kategorie wählen --')); ?> @@ -37,12 +35,6 @@ <?php echo $form->error($model,'beschreibung'); ?> </div> - <div class="row"> - <?php echo $form->labelEx($model,'published'); ?> - <?php echo $form->checkbox($model,'published'); ?> - <?php echo $form->error($model,'published'); ?> - </div> - <div class="row buttons"> <?php echo CHtml::submitButton($model->isNewRecord ? 'Erstellen' : 'Speichern'); ?> </div> diff --git a/protected/views/myAngebot/_form.php b/protected/views/myAngebot/_form.php index 2abd64d..0ee91d5 100644 --- a/protected/views/myAngebot/_form.php +++ b/protected/views/myAngebot/_form.php @@ -1,3 +1,5 @@ +<?php Html::registerJavascript("angebotverein.js"); ?> + <div class="form"> <?php $form=$this->beginWidget('CActiveForm', array( @@ -21,38 +23,7 @@ 'select'=>'js:function(event, ui) { return selectAngebot(ui.item); }', - 'change'=>'js:function( event ) { - var autocomplete = $( this ).data( "autocomplete" ); - if (autocomplete.selectedItem ) { return; } - var fullMatcher = new RegExp( "^" + $.ui.autocomplete.escapeRegex( $(this).val() ) + "$", "i" ); - var partMatcher = new RegExp( "^" + $.ui.autocomplete.escapeRegex( $(this).val() ), "i" ); - autocomplete.widget().children( ".ui-menu-item" ).each(function() { - var item = $(this).data("item.autocomplete"); - if (fullMatcher.test( item.label)) { - autocomplete.selectedItem = item; - return false; - } else if (partMatcher.test(item.label)) { - var conf = confirm("Meinten Sie \""+item.label+"\"?"); - if (conf) { - autocomplete.selectedItem = item; - return false; - } - } - }); - if (autocomplete.selectedItem) { - autocomplete._trigger("select", event, { item: autocomplete.selectedItem } ); - } else { - var selectObj = $("#AngebotVerein_einheit")[0]; - selectObj.style.display = "none"; - $("#emptyEinheitenTxt")[0].style.display = "inline"; - $("#createNewMasterAngebot")[0].style.display = "inline"; - var selectParentNode = selectObj.parentNode; - var newSelectObj = selectObj.cloneNode(false); // Make a shallow copy - selectParentNode.replaceChild(newSelectObj, selectObj); - - $("#AngebotVerein_angebot_id").val(""); - } - }', + 'change'=>'js:changeAngebot', ), 'htmlOptions'=>array( 'style'=>'height:20px;', @@ -63,8 +34,6 @@ <?php echo $form->error($model, 'angebot_id'); ?> </div> - <span id="createNewMasterAngebot" style="display:none">CREATE</span> - <div class="row"> <?php echo $form->labelEx($model,'menge'); ?> <?php echo $form->textField($model,'menge',array('size'=>60,'maxlength'=>80)); ?> @@ -109,11 +78,6 @@ */ ?> -<?php echo CHtml::link('Neues Angebot erstellen', "", // the link for open the dialog - array( - 'style'=>'cursor: pointer; text-decoration: underline;', - 'onclick'=>"{addAngebot(); $('#angebotDialog').dialog('open');}"));?> - <?php $this->beginWidget('zii.widgets.jui.CJuiDialog', array( // the dialog 'id'=>'angebotDialog', @@ -122,7 +86,7 @@ $this->beginWidget('zii.widgets.jui.CJuiDialog', array( // the dialog 'autoOpen'=>false, 'modal'=>true, 'width'=>550, - 'height'=>470, + 'height'=>505, ), ));?> <div class="divForForm"></div> @@ -130,49 +94,26 @@ $this->beginWidget('zii.widgets.jui.CJuiDialog', array( // the dialog <?php $this->endWidget();?> <script type="text/javascript"> -function addAngebot() { +function openAngebotDialog() { <?php echo CHtml::ajax(array( 'url'=>array('myAngebot/createAngebot'), - 'data'=> "js:$(this).serialize()", + 'data'=>'js:$("#angebot_name").serialize()', 'type'=>'post', 'dataType'=>'json', - 'success'=>"function(data) { - if (data.status == 'failure') { - $('#angebotDialog div.divForForm').html(data.div); - // Here is the trick: on submit-> once again this function! - $('#angebotDialog div.divForForm form').submit(addAngebot); - } else { - $('#angebotDialog div.divForForm').html(data.div); - setTimeout(\"$('#angebotDialog').dialog('close') \",3000); - selectAngebot(data); - } - }", - ))?>; + 'success'=>'angebotVereinDialog', + )); ?> + $('#angebotDialog').dialog('open'); // Open Angebot dialog return false; } -function selectAngebot(angebot) { - $("#AngebotVerein_angebot_id").val(angebot.value); - $("#angebot_name").val(angebot.label); - var selectObj = $("#AngebotVerein_einheit")[0]; - selectObj.style.display = "inline"; - $("#emptyEinheitenTxt")[0].style.display = "none"; - $("#createNewMasterAngebot")[0].style.display = "none"; - var selectParentNode = selectObj.parentNode; - var newSelectObj = selectObj.cloneNode(false); // Make a shallow copy - selectParentNode.replaceChild(newSelectObj, selectObj); - var count = 0; - var einheiten = angebot.einheiten.split(","); - for (i in einheiten) { - var str = einheiten[i].replace(/^\s+/, ""); - for (var i = str.length - 1; i >= 0; i--) { - if (/\S/.test(str.charAt(i))) { - str = str.substring(0, i + 1); - break; - } - } - newSelectObj.options[count++] = new Option(str, str); - } +function createAngebot() { + <?php echo CHtml::ajax(array( + 'url'=>array('myAngebot/createAngebot'), + 'data'=>'js:$(this).serialize()', + 'type'=>'post', + 'dataType'=>'json', + 'success'=>'angebotVereinDialog', + )); ?> return false; } </script>
\ No newline at end of file |
