fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [7448]


From: Erik Holm-Larsen
Subject: [Fmsystem-commits] [7448]
Date: Wed, 29 Jun 2011 06:54:51 +0000

Revision: 7448
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=7448
Author:   erikhl
Date:     2011-06-29 06:54:50 +0000 (Wed, 29 Jun 2011)
Log Message:
-----------


Modified Paths:
--------------
    trunk/activitycalendarfrontend/inc/class.uiactivity.inc.php
    trunk/activitycalendarfrontend/setup/phpgw_no.lang
    trunk/activitycalendarfrontend/setup/setup.inc.php
    trunk/activitycalendarfrontend/templates/base/activity.php

Modified: trunk/activitycalendarfrontend/inc/class.uiactivity.inc.php
===================================================================
--- trunk/activitycalendarfrontend/inc/class.uiactivity.inc.php 2011-06-28 
13:21:05 UTC (rev 7447)
+++ trunk/activitycalendarfrontend/inc/class.uiactivity.inc.php 2011-06-29 
06:54:50 UTC (rev 7448)
@@ -2,9 +2,11 @@
        phpgw::import_class('activitycalendar.uiactivities');
        phpgw::import_class('activitycalendar.soactivity');
        phpgw::import_class('activitycalendar.sogroup');
+       phpgw::import_class('activitycalendar.soarena');
        
        include_class('activitycalendar', 'activity', 'inc/model/');
        include_class('activitycalendar', 'group', 'inc/model/');
+       include_class('activitycalendar', 'organization', 'inc/model/');
 
        class activitycalendarfrontend_uiactivity extends 
activitycalendar_uiactivities
        {
@@ -14,7 +16,8 @@
                        'edit'                  =>      true,
                        'view'                  =>      true,
                        'index'                 =>      true,
-                       'get_organization_groups'       =>      true
+                       'get_organization_groups'       =>      true,
+                       'get_address_search'    => true
                );
                
                /**
@@ -56,6 +59,7 @@
                        $action = phpgw::get_var('action', 'GET');
                        //var_dump($id);
                        $so_activity = 
activitycalendar_soactivity::get_instance();
+                       $so_arena = activitycalendar_soarena::get_instance();
                        //$activity = $so->get_single($id);
                        
                        //var_dump(phpgw::get_var('secret', 'GET'));
@@ -77,7 +81,8 @@
                        $targets = $so_activity->get_targets();
                        $offices = $so_activity->select_district_list();
                        $districts = $so_activity->get_districts();
-                       $arenas = 
activitycalendar_soarena::get_instance()->get(null, null, null, null, null, 
null, null);
+                       $buildings = $so_arena->get_buildings();
+                       $arenas = $so_arena->get(null, null, null, null, null, 
null, null);
                        $organizations = 
activitycalendar_soorganization::get_instance()->get(null, null, null, null, 
null, null, null);
                        $groups = 
activitycalendar_sogroup::get_instance()->get(null, null, null, null, null, 
null, null);
                        
@@ -101,28 +106,107 @@
                        
                        $g_id = phpgw::get_var('group_id');
                        $o_id = phpgw::get_var('organization_id');
-                       if(isset($g_id) && $g_id > 0)
+                       if(isset($g_id) && is_numeric($g_id) && $g_id > 0)
                        {
-                               $persons = 
activitycalendar_sogroup::get_instance()->get_contacts($g_id);
-                               $desc = 
activitycalendar_sogroup::get_instance()->get_description($g_id);
+                               /*if($g_id == "new_group")
+                               {
+                                       //add new group to internal 
activitycalendar group register
+                               }
+                               else*/ 
+                               //if(is_numeric($g_id) && $g_id > 0)
+                               //{
+                                       $persons = 
activitycalendar_sogroup::get_instance()->get_contacts($g_id);
+                                       $desc = 
activitycalendar_sogroup::get_instance()->get_description($g_id);
+                               //}
                        }
-                       else if(isset($o_id) && $o_id > 0)
+                       else if(isset($o_id))
                        {
-                               $persons = 
activitycalendar_soorganization::get_instance()->get_contacts($o_id);
-                               $desc = 
activitycalendar_soorganization::get_instance()->get_description($o_id);
+                               if($o_id == "new_org")
+                               {
+                                       //add new organization to internal 
activitycalendar organization register
+                                       $org_info['name'] = 
phpgw::get_var('orgname');
+                                       $org_info['orgnr'] = 
phpgw::get_var('orgno');
+                                       $org_info['homepage'] = 
phpgw::get_var('homepage');
+                                       $org_info['phone'] = 
phpgw::get_var('phone');
+                                       $org_info['email'] = 
phpgw::get_var('email');
+                                       $org_info['description'] = 
phpgw::get_var('org_description');
+                                       $org_info['street'] = 
phpgw::get_var('address') . ' ' . phpgw::get_var('number') . ', ' . 
phpgw::get_var('postaddress');
+                                       //$org_info['zip'] = 
phpgw::get_var('postaddress');
+                                       $org_info['district'] = 
phpgw::get_var('org_district'); 
+                                       $o_id = 
$so_activity->add_organization_local($org_info);
+                                       
+                                       //add contact persons
+                                       $contact1 = array();
+                                       $contact1['name'] = 
phpgw::get_var('contact1_name');
+                                       $contact1['phone'] = 
phpgw::get_var('contact1_phone');
+                                       $contact1['mail'] = 
phpgw::get_var('contact1_email');
+                                       $contact1['org_id'] = $o_id;
+                                       $contact1['group_id'] = 0;
+                                       
$so_activity->add_contact_person_local($contact1);
+                                       
+                                       $contact2 = array();
+                                       $contact2['name'] = 
phpgw::get_var('contact2_name');
+                                       $contact2['phone'] = 
phpgw::get_var('contact2_phone');
+                                       $contact2['mail'] = 
phpgw::get_var('contact2_email');
+                                       $contact2['org_id'] = $o_id;
+                                       $contact2['group_id'] = 0;
+                                       
$so_activity->add_contact_person_local($contact2);
+                                       
+                                       $persons = 
activitycalendar_soorganization::get_instance()->get_contacts_local($o_id);
+                                       $desc = 
phpgw::get_var('org_description');
+
+                               }
+                               else if(is_numeric($o_id) && $o_id > 0)
+                               {
+                                       if(isset($g_id) && $g_id == "new_group")
+                                       {
+                                               $group_info['name'] = 
phpgw::get_var('groupname');
+                                               $group_info['organization_id'] 
= $o_id;
+                                               $group_info['description'] = 
phpgw::get_var('group_description');
+                                               $g_id = 
$so_activity->add_group_local($group_info);
+                                               
+                                               //add contact persons
+                                               $contact1 = array();
+                                               $contact1['name'] = 
phpgw::get_var('contact1_name');
+                                               $contact1['phone'] = 
phpgw::get_var('contact1_phone');
+                                               $contact1['mail'] = 
phpgw::get_var('contact1_email');
+                                               $contact1['org_id'] = 0;
+                                               $contact1['group_id'] = $g_id;
+                                               
$so_activity->add_contact_person_local($contact1);
+                                               
+                                               $contact2 = array();
+                                               $contact2['name'] = 
phpgw::get_var('contact2_name');
+                                               $contact2['phone'] = 
phpgw::get_var('contact2_phone');
+                                               $contact2['mail'] = 
phpgw::get_var('contact2_email');
+                                               $contact2['org_id'] = 0;
+                                               $contact2['group_id'] = $g_id;
+                                               
$so_activity->add_contact_person_local($contact2);
+                                               
+                                               $activity_persons = 
activitycalendar_sogroup::get_instance()->get_contacts_local($g_id);
+                                               $desc = 
phpgw::get_var('group_description');
+                                       }
+                                       else
+                                       {
+                                               $persons = 
activitycalendar_soorganization::get_instance()->get_contacts($o_id);
+                                               $desc = 
activitycalendar_soorganization::get_instance()->get_description($o_id);
+                                       }
+                               }
                        }
                        
                        if(isset($_POST['save_activity'])) // The user has 
pressed the save button
                        {
                                if(isset($activity)) // If an activity object 
is created
                                {
+                                       var_dump("lagre1");
                                        $old_state = $activity->get_state();
                                        $new_state = phpgw::get_var('state');
-       
+       var_dump("lagre2");
                                        // ... set all parameters
                                        
$activity->set_title(phpgw::get_var('title'));
-                                       
$activity->set_organization_id(phpgw::get_var('organization_id'));
-                                       
$activity->set_group_id(phpgw::get_var('group_id'));
+                                       
//$activity->set_organization_id(phpgw::get_var('organization_id'));
+                                       
//$activity->set_group_id(phpgw::get_var('group_id'));
+                                       $activity->set_organization_id($o_id);
+                                       $activity->set_group_id($g_id);
                                        
$activity->set_arena(phpgw::get_var('arena_id'));
                                        $district_array = 
phpgw::get_var('district');
                                        $activity->set_district(implode(",", 
$district_array));
@@ -130,12 +214,13 @@
                                        if($action == 'new_activity')
                                        {
                                                $activity->set_state(1);
-                                               //$new_state=1;
+                                               $new_state=1;
                                        }
                                        else
                                        {
                                                
$activity->set_state($new_state);
                                        }
+                                       var_dump("lagre3");
                                        
$activity->set_category(phpgw::get_var('category'));
                                        $target_array = 
phpgw::get_var('target');
                                        $activity->set_target(implode(",", 
$target_array));
@@ -144,6 +229,8 @@
                                        
$activity->set_contact_persons($persons);
                                        
$activity->set_special_adaptation(phpgw::get_var('special_adaptation'));
                                        
+                                       var_dump("storing"); 
+                                       
                                        if($so_activity->store($activity)) // 
... and then try to store the object
                                        {
                                                $message = 
lang('messages_saved_form'); 
@@ -179,6 +266,7 @@
                                                        'organizations' => 
$organizations,
                                                        'groups' => $groups,
                                                        'arenas' => $arenas,
+                                                       'buildings' => 
$buildings,
                                                        'categories' => 
$categories,
                                                        'targets' => $targets,
                                                        'districts' => 
$districts,
@@ -207,6 +295,7 @@
                        $returnHTML = "<option value='0'>Ingen gruppe 
valgt</option>";
                        if($org_id)
                        {
+                               $group_html[] = "<option value='new_group'>Ny 
gruppe</option>";
                                $groups = 
activitycalendar_sogroup::get_instance()->get(null, null, null, null, null, 
null, array('org_id' => $org_id));
                                foreach ($groups as $group) {
                                        if(isset($group))
@@ -232,4 +321,14 @@
                        return $returnHTML;
                        //return "<option>Ingen gruppe valgt</option>";
                }
+               
+               /**
+                * Public method.
+                */
+               public function get_address_search()
+               {
+                       $search_string = phpgw::get_var('search');
+                       //var_dump($search_string);
+                       return 
activitycalendar_soarena::get_instance()->get_address($search_string);
+               }
        }

Modified: trunk/activitycalendarfrontend/setup/phpgw_no.lang
===================================================================
--- trunk/activitycalendarfrontend/setup/phpgw_no.lang  2011-06-28 13:21:05 UTC 
(rev 7447)
+++ trunk/activitycalendarfrontend/setup/phpgw_no.lang  2011-06-29 06:54:50 UTC 
(rev 7448)
@@ -52,4 +52,10 @@
 group  activitycalendarfrontend        no      Gruppe
 district       activitycalendarfrontend        no      Bydel
 title  activitycalendarfrontend        no      Tittel
-activity_helptext      activitycalendarfrontend        no      Før ny 
aktivitet kan registreres må du sjekke at organisasjon/gruppe finnes og er 
oppdatert, og at arena finnes og er oppdatert.
\ No newline at end of file
+activity_helptext      activitycalendarfrontend        no      Før ny 
aktivitet kan registreres må du sjekke at organisasjon/gruppe finnes og er 
oppdatert, og at arena finnes og er oppdatert.
+building       activitycalendarfrontend        no      Kommunale bygg
+title_helptext activitycalendarfrontend        no      Skriv inn tittel på 
aktiviteten slik du vil den skal vises i kommuneportalen
+org_helptext   activitycalendarfrontend        no      Velg organisasjon 
aktiviteten skal knyttes til. <br/>Dersom din organisasjon ikke finnes, velg 
"Ny organisasjon" og fyll ut feltene som vises under.
+group_helptext activitycalendarfrontend        no      Velg gruppe/lag 
aktiviteten skal knyttes til. <br/>Dersom gruppen/laget ikke finnes, velg "Ny 
gruppe" og fyll ut feltene som vises under.
+int_arena_helptext     activitycalendarfrontend        no      Dersom 
aktiviteten skal finne sted i et kommunalt bygg velges dette fra listen her.
+arena_helptext activitycalendarfrontend        no      Dersom aktiviteten skal 
finne sted på en ikke-kommunal arena, velges dette her.<br/>Dersom aktiviteten 
finner sted på flere arenaer, velg hovedarena her.
\ No newline at end of file

Modified: trunk/activitycalendarfrontend/setup/setup.inc.php
===================================================================
--- trunk/activitycalendarfrontend/setup/setup.inc.php  2011-06-28 13:21:05 UTC 
(rev 7447)
+++ trunk/activitycalendarfrontend/setup/setup.inc.php  2011-06-29 06:54:50 UTC 
(rev 7448)
@@ -31,7 +31,7 @@
        
        $setup_info['activitycalendarfrontend']['depends'][] = array(
                'appname' => 'activitycalendar',
-               'versions' => Array('0.1.3')
+               'versions' => Array('0.1.3','0.1.4')
        );
 
        /* The hooks this app includes, needed for hooks registration */

Modified: trunk/activitycalendarfrontend/templates/base/activity.php
===================================================================
--- trunk/activitycalendarfrontend/templates/base/activity.php  2011-06-28 
13:21:05 UTC (rev 7447)
+++ trunk/activitycalendarfrontend/templates/base/activity.php  2011-06-29 
06:54:50 UTC (rev 7448)
@@ -18,12 +18,64 @@
        url = 
"index.php?menuaction=activitycalendarfrontend.uiactivity.get_organization_groups&amp;phpgw_return_as=json&amp;orgid="
 + org_id;
 <?php }?>
 
-var divcontent_start = "<select name=\"group_id\" id=\"group_id\">";
+       if(org_id != null && org_id == 'new_org')
+       {
+               //alert('new_org');
+               document.getElementById('new_org_group').style.display = 
"block";
+               document.getElementById('new_org_fields').style.display = 
"block";
+       }
+       else
+       {
+               document.getElementById('new_org_group').style.display = "none";
+               document.getElementById('new_org_fields').style.display = 
"none";
+               var divcontent_start = "<select name=\"group_id\" 
id=\"group_id\" onchange=\"javascript:checkNewGroup()\">";
+               var divcontent_end = "</select>";
+               
+               var callback = {
+                       success: function(response){
+                                               div_select.innerHTML = 
divcontent_start + JSON.parse(response.responseText) + divcontent_end; 
+                                       },
+                       failure: function(o) {
+                                                alert("AJAX doesn't work"); 
//FAILURE
+                                        }
+               }
+               var trans = YAHOO.util.Connect.asyncRequest('GET', url, 
callback, null);
+       }
+}
+
+YAHOO.util.Event.onDOMReady(function()
+{
+       get_available_groups();
+});
+
+function checkNewGroup()
+{
+       var group_selected = document.getElementById('group_id').value;
+       if(group_selected == 'new_group')
+       {
+               document.getElementById('new_org_group').style.display = 
"block";
+               document.getElementById('new_group_fields').style.display = 
"block";
+       }
+       else
+       {
+               document.getElementById('new_org_group').style.display = "none";
+               document.getElementById('new_group_fields').style.display = 
"none";
+       }
+}
+
+function get_address_search()
+{
+       var address = document.getElementById('address_txt').value;
+       var div_address = document.getElementById('address_container');
+
+       url = 
"index.php?menuaction=activitycalendarfrontend.uiactivity.get_address_search&amp;phpgw_return_as=json&amp;search="
 + address;
+
+var divcontent_start = "<select name=\"address\" id=\"address\" size\"5\">";
 var divcontent_end = "</select>";
        
        var callback = {
                success: function(response){
-                                       div_select.innerHTML = divcontent_start 
+ JSON.parse(response.responseText) + divcontent_end; 
+                                       div_address.innerHTML = 
divcontent_start + JSON.parse(response.responseText) + divcontent_end; 
                                },
                failure: function(o) {
                                         alert("AJAX doesn't work"); //FAILURE
@@ -33,17 +85,33 @@
        
 }
 
-YAHOO.util.Event.onDOMReady(function()
+function get_address_search_cp2()
 {
-       get_available_groups();
-});
+       var address = document.getElementById('contact2_address_txt').value;
+       var div_address = document.getElementById('contact2_address_container');
 
+       url = 
"index.php?menuaction=activitycalendarfrontend.uiactivity.get_address_search&amp;phpgw_return_as=json&amp;search="
 + address;
+
+var divcontent_start = "<select name=\"contact2_address\" id=\"address_cp2\" 
size\"5\">";
+var divcontent_end = "</select>";
+       
+       var callback = {
+               success: function(response){
+                                       div_address.innerHTML = 
divcontent_start + JSON.parse(response.responseText) + divcontent_end; 
+                               },
+               failure: function(o) {
+                                        alert("AJAX doesn't work"); //FAILURE
+                                }
+       }
+       var trans = YAHOO.util.Connect.asyncRequest('GET', url, callback, null);
+       
+}
+
 </script>
 
 <div class="yui-content">
        <div id="details">
                <h1><?php echo lang('activity') ?></h1>
-               <h4><?php if($editable){echo lang('activity_helptext');}?></h4>
                <form action="#" method="post">
                        <input type="hidden" name="id" value="<?php 
if($activity->get_id()){ echo $activity->get_id(); } else { echo '0'; }  ?>"/>
                        <dl class="proplist-col">
@@ -57,6 +125,7 @@
                                        if ($editable)
                                        {
                                        ?>
+                                               <?php echo 
lang('title_helptext')?><br/>
                                                <input type="text" name="title" 
id="title" value="<?php echo $activity->get_title() ?>" />
                                        <?php
                                        }
@@ -77,8 +146,10 @@
                                        if ($editable)
                                        {
                                                ?>
+                                               <?php echo 
lang('org_helptext')?><br/>
                                                <select name="organization_id" 
id="organization_id" onchange="javascript:get_available_groups();">
                                                        <option value="">Ingen 
organisasjon valgt</option>
+                                                       <option 
value="new_org">Ny organisasjon</option>
                                                        <?php
                                                        foreach($organizations 
as $organization)
                                                        {
@@ -109,6 +180,7 @@
                                        if ($editable)
                                        {
                                                ?>
+                                               <?php echo 
lang('group_helptext')?><br/>
                                                <div id="group_select">
                                                        <select name="group_id" 
id="group_id">
                                                                <option 
value="0">Ingen gruppe valgt</option>
@@ -126,7 +198,103 @@
                                        }
                                        ?>
                                </dd>
+                               <div id="new_org_group" style="display: none;">
+                                       <hr/>
+                                       <div id="new_org_fields" 
style="display: none;">
+                                               <label 
for="orgname">Organisasjonsnavn</label>
+                                               <input type="text" 
name="orgname"/><br/>
+                                               <label 
for="orgno">Organisasjonsnummer</label>
+                                               <input type="text" 
name="orgno"/><br/>
+                                               <label 
for="district">Bydel</label>
+                                                       <select 
name="org_district">
+                                                               <option 
value="0">Ingen distrikt valgt</option>
+                                               <?php 
+                                               foreach($districts as $d)
+                                               {
+                                               ?>
+                                                       <option value="<?php 
echo $d['part_of_town_id']?>"><?php echo $d['name']?></option>
+                                               <?php
+                                               }?>
+                                                       </select>
+                                               <label 
for="homepage">Hjemmeside</label>
+                                               <input type="text" 
name="homepage"/><br/>
+                                               <label 
for="email">E-post</label>
+                                               <input type="text" 
name="email"/><br/>
+                                               <label 
for="phone">Telefon</label>
+                                               <input type="text" 
name="phone"/><br/>
+                                               <label for="street">Gate</label>
+                                               <input type="text" 
name="address_txt" id="address_txt" onkeyup="javascript:get_address_search()"/>
+                                               <div 
id="address_container"></div><br/>
+                                               <label 
for="number">Nummer</label>
+                                               <input type="text" 
name="number"/><br/>
+                                               <label 
for="postaddress">Postnummer / Sted</label>
+                                               <input type="text" 
name="postaddress"/>
+                                               <label 
for="org_description">Beskrivelse</label>
+                                               <textarea rows="10" cols="100" 
name="org_description"></textarea>
+                                       </div>
+                                       <hr/>
+                                       <div id="new_group_fields" 
style="display: none;">
+                                               <label 
for="groupname">Gruppenavn</label>
+                                               <input type="text" 
name="groupname"/><br/>
+                                               <label 
for="group_description">Beskrivelse</label>
+                                               <textarea rows="10" cols="100" 
name="group_description"></textarea>
+                                       </div>
+                                       <hr/>
+                                       <b>Kontaktperson 1</b><br/>
+                                       <label for="contact1_name">Navn</label>
+                                       <input type="text" 
name="contact1_name"/><br/>
+                                       <label 
for="contact1_phone">Telefon</label>
+                                       <input type="text" 
name="contact1_phone"/><br/>
+                                       <label 
for="contact1_mail">E-post</label>
+                                       <input type="text" 
name="contact1_mail"/><br/>
+                                       <b>Kontaktperson 2</b><br/>
+                                       <label for="contact2_name">Navn</label>
+                                       <input type="text" 
name="contact2_name"/><br/>
+                                       <label 
for="contact2_phone">Telefon</label>
+                                       <input type="text" 
name="contact2_phone"/><br/>
+                                       <label 
for="contact2_mail">E-post</label>
+                                       <input type="text" 
name="contact2_mail"/><br/>
+                                       <label 
for="contact2_address">Adresse</label>
+                                       <input type="text" 
name="contact2_address_txt" id="contact2_address_txt" 
onkeyup="javascript:get_address_search_cp2()"/>
+                                       <div 
id="contact2_address_container"></div><br/>
+                                       <label 
for="contact2_number">Nummer</label>
+                                       <input type="text" 
name="contact2_number"/><br/>
+                                       <label 
for="contact2_postaddress">Postnummer / Sted</label>
+                                       <input type="text" 
name="contact2_postaddress"/>
+                                       <hr/>
+                               </div>
                                <dt>
+                                       <?php 
if($activity->get_internal_arena() || $editable) { ?>
+                                       <label for="arena"><?php echo 
lang('building') ?></label>
+                                       <?php  } ?>
+                               </dt>
+                               <dd>
+                                       <?php
+                                       $current_internal_arena_id = 
$activity->get_internal_arena();
+                                       if ($editable)
+                                       {
+                                               ?>
+                                               <?php echo 
lang('int_arena_helptext')?><br/>
+                                               <select 
name="internal_arena_id">
+                                                       <option value="0">Ingen 
kommunale bygg valgt</option>
+                                                       <?php
+                                                       foreach($buildings as 
$building_id => $building_name)
+                                                       {
+                                                               echo "<option 
".($current_internal_arena_id == $building_id? 'selected="selected"' : "")." 
value=\"{$building_id}\">".$building_name."</option>";
+                                                       }
+                                                       ?>
+                                               </select>
+                                               <?php
+                                       }
+                                       else
+                                       {
+                                               if($activity->get_arena()){
+                                                       echo 
activitycalendar_soarena::get_instance()->get_building_name($activity->get_internal_arena());
+                                               }
+                                       }
+                                       ?>
+                               </dd>
+                               <dt>
                                        <?php if($activity->get_arena() || 
$editable) { ?>
                                        <label for="arena"><?php echo 
lang('arena') ?></label>
                                        <?php  } ?>
@@ -137,6 +305,7 @@
                                        if ($editable)
                                        {
                                                ?>
+                                               <?php echo 
lang('arena_helptext')?><br/>
                                                <select name="arena_id">
                                                        <option value="0">Ingen 
arena valgt</option>
                                                        <?php




reply via email to

[Prev in Thread] Current Thread [Next in Thread]