summaryrefslogtreecommitdiff
path: root/protected/views/myAngebot
diff options
context:
space:
mode:
Diffstat (limited to 'protected/views/myAngebot')
-rw-r--r--protected/views/myAngebot/_angebot_form.php52
-rw-r--r--protected/views/myAngebot/_form.php142
-rw-r--r--protected/views/myAngebot/index.php2
3 files changed, 173 insertions, 23 deletions
diff --git a/protected/views/myAngebot/_angebot_form.php b/protected/views/myAngebot/_angebot_form.php
new file mode 100644
index 0000000..ca1ba6f
--- /dev/null
+++ b/protected/views/myAngebot/_angebot_form.php
@@ -0,0 +1,52 @@
+<div class="form">
+
+<?php $form=$this->beginWidget('CActiveForm', array(
+ 'id'=>'angebot-form',
+ 'enableAjaxValidation'=>false,
+)); ?>
+
+ <?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 --')); ?>
+ <?php echo $form->error($model,'kategorie_id'); ?>
+ </div>
+
+ <div class="row">
+ <?php echo $form->labelEx($model,'name'); ?>
+ <?php echo $form->textField($model,'name',array('size'=>60,'maxlength'=>80)); ?>
+ <?php echo $form->error($model,'name'); ?>
+ </div>
+
+ <div class="row">
+ <?php echo $form->labelEx($model,'beschreibung'); ?>
+ <?php $this->widget('application.extensions.tinymce.ETinyMce',
+ array(
+ 'name'=>'beschreibung',
+ "value"=>$model->beschreibung,
+ 'useSwitch' => false,
+ 'editorTemplate'=>'simple',
+ "language"=>"de",
+ "height"=>"200px",
+ )
+ );
+ ?>
+ <?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>
+
+<?php $this->endWidget(); ?>
+
+</div><!-- form --> \ No newline at end of file
diff --git a/protected/views/myAngebot/_form.php b/protected/views/myAngebot/_form.php
index 409862b..2abd64d 100644
--- a/protected/views/myAngebot/_form.php
+++ b/protected/views/myAngebot/_form.php
@@ -19,35 +19,52 @@
'options'=>array(
'minLength'=>'2',
'select'=>'js:function(event, ui) {
- $("#AngebotVerein_angebot_id").val(ui.item.value);
- $("#angebot_name").val(ui.item.label);
+ 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);
- var count = 0;
- var einheiten = ui.item.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);
+
+ $("#AngebotVerein_angebot_id").val("");
}
- return false;
- }'
+ }',
),
'htmlOptions'=>array(
- 'style'=>'height:20px;'
+ 'style'=>'height:20px;',
+ 'size'=>'60'
),
)); ?>
<?php echo $form->hiddenField($model, 'angebot_id'); ?>
<?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)); ?>
@@ -55,15 +72,22 @@
</div>
<div class="row">
- <?php echo $form->labelEx($model,'preis'); ?>
- <?php echo $form->textField($model,'preis',array('size'=>60,'maxlength'=>80)); ?>
- <?php echo $form->error($model,'preis'); ?>
+ <?php echo $form->labelEx($model,'einheit'); ?>
+ <?php
+ if ($einheiten !== null && '' != $einheiten) {
+ echo Html::einheitenDropDownList($model, 'einheit', $einheiten);
+ } else {
+ ?><select id="AngebotVerein_einheit" style="display:none;"></select><?php
+ }
+ ?>
+ <span id="emptyEinheitenTxt" style="display: <?php echo ($einheiten !== null && '' != $einheiten) ? "none" : "inline"?>">Bitte zuerst das Angebot eingeben.</span>
+ <?php echo $form->error($model,'einheit'); ?>
</div>
<div class="row">
- <?php echo $form->labelEx($model,'einheit'); ?>
- <?php echo Html::einheitenDropDownList($model, 'einheit', $einheiten)?>
- <?php echo $form->error($model,'einheit'); ?>
+ <?php echo $form->labelEx($model,'preis'); ?>
+ <?php echo $form->textField($model,'preis',array('size'=>60,'maxlength'=>80)); ?>
+ <?php echo $form->error($model,'preis'); ?>
</div>
<div class="row">
@@ -78,3 +102,77 @@
<?php $this->endWidget(); ?>
</div>
+
+<?php
+/*
+ * The create angebot form
+ */
+?>
+
+<?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',
+ 'options'=>array(
+ 'title'=>'Neues Angebot erstellen',
+ 'autoOpen'=>false,
+ 'modal'=>true,
+ 'width'=>550,
+ 'height'=>470,
+ ),
+));?>
+<div class="divForForm"></div>
+
+<?php $this->endWidget();?>
+
+<script type="text/javascript">
+function addAngebot() {
+ <?php echo CHtml::ajax(array(
+ 'url'=>array('myAngebot/createAngebot'),
+ 'data'=> "js:$(this).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);
+ }
+ }",
+ ))?>;
+ 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);
+ }
+ return false;
+}
+</script> \ No newline at end of file
diff --git a/protected/views/myAngebot/index.php b/protected/views/myAngebot/index.php
index 1210040..50daeb7 100644
--- a/protected/views/myAngebot/index.php
+++ b/protected/views/myAngebot/index.php
@@ -22,7 +22,7 @@ $this->menu=array(
'filter'=>$model,
'columns'=>array(
array('header'=>'Angebot', 'value'=>'$data->angebot->name', 'name'=>'angebot_id', 'filter'=>CHtml::listData(Angebot::model()->findAll(), 'id', 'name')),
- array('header'=>'Verein', 'value'=>'$data->verein->name'),
+ //array('header'=>'Verein', 'value'=>'$data->verein->name'),
array('header'=>'Menge', 'value'=>'Format::number($data->menge, $data->einheit)'),
array('header'=>'Preis', 'value'=>'Format::currency($data->preis)'),
array('header'=>'Öffentlich',