formato data visualizzato male

5 messages Options
Embed this post
Permalink
jack1973

formato data visualizzato male

Reply Threaded More More options
Print post
Permalink
Some javascript/style in this post has been disabled (why?)
...anzi, per niente visualizzato

il mio è un sistema appena istallato con buildout

Informazioni sulla versione di Plone

  • Plone 3.1.7
  • CMF 2.1.1
  • Zope (Zope 2.10.6-final, python 2.4.3, linux2)
  • Python 2.4.3 (#1, May 24 2008, 13:47:28) [GCC 4.1.2 20070626 (Red Hat 4.1.2-14)]
  • PIL 1.1.5

volevo provarlo ed ho installato Plone Booking (ultima versione, data per OK con Plone 3.1)

l'ho installata da buildout, riavviato e tutto sembra a posto

da installazione prodotti ho aggiunto PloneBooking, e tutto sembra funzionare.....

poi mi sono accorto (piccolo dettaglio) che al posto delle date, appaiono nomi di funzioni, o qualcosa del genere.


visualizzando il calendario giornaliero, per esempio, appare un link con scritto date_format nel punto in cui dovrebbe apparire la data corrente e il link punta a http://10.100.21.83:8080/Projects/intranet/prenotazioni-dir?dmode=calendar&dview=day&ts=1246831200

analogamente se visualizzo il calendario settimanale, nelle intestazioni delle colonne, al posto delle date dei 7 giori, appare date_format_without_year
con il link che punta a http://10.100.21.83:8080/Projects/intranet/prenotazioni-dir?dmode=calendar&dview=day&ts=1246831200 (nelle colonne accanto, cambia l'ultimo numero)

è fallita l'istallazione?
c'e' qualche settaggio da fare in Plone?


potrebbe essere una cosa banale, ma non so proprio dove mettere le mani..... ....ma perché le istallazioni in automatico a me non funzionano mai?

Giacomo




[g_zanobini.vcf]

begin:vcard
fn:Giacomo Zanobini
n:Zanobini;Giacomo
org:ARPAT;SIRA - TIC
adr;dom:;;;Firenze
email;internet:[hidden email]
tel;work:055 320 6066
x-mozilla-html:TRUE
url:http://www.arpat.toscana.it
version:2.1
end:vcard



_______________________________________________
Plone-IT mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html
jack1973

Re: formato data visualizzato male

Reply Threaded More More options
Print post
Permalink
Some javascript/style in this post has been disabled (why?)
aggiornamento:

ho provato a fare l'istallazione anche su un'altra macchina (parecchio diversa)

è una 3.3rc2 creata con l'unified installer (stavolta su una ubuntu, anziché CentOS).

ho installato (sempre con buildout) PloneBooking 2.2.1 e il risultato è lo stesso

allego qui piccolissima immagine


P.S.
  come si dovrebbe fare, per mettere a disposizione le immagini?
  esiste qualche servizio che utilizzate? in modo da metterle online su qualche sito per breve tempo e inserire l'url nel corpo della mail?
 



[g_zanobini.vcf]

begin:vcard
fn:Giacomo Zanobini
n:Zanobini;Giacomo
org:ARPAT;SIRA - TIC
adr;dom:;;;Firenze
email;internet:[hidden email]
tel;work:055 320 6066
x-mozilla-html:TRUE
url:http://www.arpat.toscana.it
version:2.1
end:vcard



_______________________________________________
Plone-IT mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html
jack1973

Re: formato data visualizzato male (aggiornamento II)

Reply Threaded More More options
Print post
Permalink
In reply to this post by jack1973
Some javascript/style in this post has been disabled (why?)
mentre aspetto che qualcuno che sa dove mettere le mani, mi aiuti, ho cercato di capire come funziona questo PloneBooking (che tempo fa, sulla 3.0 avevo provato ad installare..... io penso anche in quel caso si trattasse della 2.2.1, ma lo feci copiando la cartella in Products)


dunque, dicevo, guardando il codice di portal_skins/plonebooking_templates/plonebooking_macros
ho trovato questo pezzetto, che si occupa di scrivere la data, nel formato giusto
<!-- ****************************************
**          Day navigation
******************************************* -->
<metal:block metal:define-macro="day_navigation">
  <h3 id="dateTitle">
    <a tal:attributes="href string:${nav_base_url}&ts=${ts}"
       tal:content="python: btool.getFormatedDate(dt)" />
  </h3>
</metal:block>
dove:

                         ts                 python:request.get('ts', btool.getTodayTs());
                         dt                 python:getZDateTimeFromts(ts);


ho scoperto che se provo a "customizzare" il file, mi appare un errore
che dice
Macro expansion failed
exceptions.KeyError: 'macro_def'
potrebbe essere qui l'inghippo?
se provo a "customizzare" un file, non dovrebbe dare errore, giusto?
che ci sia un bug nel prodotto?



metto il codice per intero (della versione NON customizzata)...... magari qualcuno identifica l'errore (io ne ho trovato solo uno d'ortografia nei commenti)
---------------------------------------------------------------
<!-- ****************************************
**         View mode menu
******************************************* -->
<metal:block metal:define-macro="mode_menu"
             i18n:domain="plonebooking"
             tal:define="vocab python:btool.getViewModeVocabulary();">
	<div id="mode-menu">
		<select name="dmode"
            tal:define="js_dview python:test(dmode == 'listing' and dview == 'year', 'month', dview);"
				    tal:attributes="tabindex tabindex/next;
                            onchange string:javascript:Booking.refreshFilter()"
				    tal:condition="python:len(available_modes) > 1">
		  <tal:modes tal:repeat="mode available_modes">
		    <option tal:define="title python:vocab.getValue(mode)"
		            tal:attributes="value mode;
		                            selected python:test(mode == dmode, 'selected', None)"
		       		tal:content="title" />
		  </tal:modes>
		</select>
	</div>
</metal:block>

<!-- ****************************************
**          Day navigation
******************************************* -->
<metal:block metal:define-macro="day_navigation">
  <h3 id="dateTitle">
    <a tal:attributes="href string:${nav_base_url}&ts=${ts}"
       tal:content="python: btool.getFormatedDate(dt)" />
  </h3>

  <div id="plonebooking-nav"
       tal:define="prevdate python:btool.substractDays(ts);
                   nextdate python:btool.addDays(ts);
                   prevprevdate python:btool.substractDays(ts, days=7);
                   nextnextdate python:btool.addDays(ts, days=7);">
    <div id="plonebooking-left-nav" >
      <a tal:attributes="href string:${nav_base_url}&ts=${prevprevdate}">
        &lt;&lt;&nbsp;<tal:block i18n:translate="label_previous_week">Previous week</tal:block>
      </a>&nbsp;&nbsp;
      <a tal:attributes="href string:${nav_base_url}&ts=${prevdate}">
        &lt;&nbsp;<tal:block i18n:translate="label_previous_day">Previous day</tal:block>
      </a>
    </div>
    <div id="plonebooking-right-nav">
      <!-- the right part to go to next -->
      <a tal:attributes="href string:${nav_base_url}&ts=${nextdate}">
        <tal:block i18n:translate="label_next_day">Next day</tal:block>&nbsp;&gt;
      </a>&nbsp;&nbsp;
      <a tal:attributes="href string:${nav_base_url}&ts=${nextnextdate}">
        <tal:block i18n:translate="label_next_week">Next week</tal:block>&nbsp;&gt;&gt;
      </a>
    </div>
  </div>
</metal:block>

<!-- ****************************************
**          Week navigation
******************************************* -->
<metal:block metal:define-macro="week_navigation">
	<h3 id="dateTitle">
    <a tal:attributes="href string:${nav_base_url}&ts=${ts}"
  	   tal:content="python:btool.getFormatedWeekDate(week, year)" />
  </h3>
  <div id="plonebooking-nav"
       tal:define="prevdate python:btool.substractWeeks(ts);
                   nextdate python:btool.addWeeks(ts);
                   prevprevdate python:btool.substractWeeks(ts, weeks=4);
                   nextnextdate python:btool.addWeeks(ts, weeks=4);">
    <div id="plonebooking-left-nav" >
      <a tal:attributes="href string:${nav_base_url}&ts=${prevprevdate}">
        &lt;&lt;&nbsp;<tal:block i18n:translate="label_previous_4_weeks">Previous 4 weeks</tal:block>
        </a>&nbsp;&nbsp;
      <a tal:attributes="href string:${nav_base_url}&ts=${prevdate}">
        &lt;&nbsp;<tal:block i18n:translate="label_previous_week">Previous week</tal:block>
      </a>
    </div>
    <div id="plonebooking-right-nav">
      <a tal:attributes="href string:${nav_base_url}&ts=${nextdate}">
        <tal:block i18n:translate="label_next_week">Next week</tal:block>&nbsp;&gt;
      </a>&nbsp;&nbsp;
      <a tal:attributes="href string:${nav_base_url}&ts=${nextnextdate}">
        <tal:block i18n:translate="label_next_4_weeks">Next 4 weeks</tal:block>&nbsp;&gt;&gt;
      </a>
    </div>
  </div>
</metal:block>

<!-- ****************************************
**          Month navigation
******************************************* -->
<metal:block metal:define-macro="month_navigation">
  <h3 id="dateTitle">
    <a tal:attributes="href string:${nav_base_url}&ts=${ts}"
  		tal:content="python:btool.getFormatedMonthDate(month, year)" />
  </h3>
  <div id="plonebooking-nav"
       tal:define="prevdate python:btool.substractMonths(ts);
                   nextdate python:btool.addMonths(ts);
                   prevprevdate python:btool.substractMonths(ts, months=3);
                   nextnextdate python:btool.addMonths(ts, months=3);">
    <div id="plonebooking-left-nav" >
      <a tal:attributes="href string:${nav_base_url}&ts=${prevprevdate}">
        &lt;&lt;&nbsp;<tal:block i18n:translate="label_previous_3_months">Previous 3 months</tal:block>
        </a>&nbsp;&nbsp;
      <a tal:attributes="href string:${nav_base_url}&ts=${prevdate}">
        &lt;&nbsp;<tal:block i18n:translate="label_previous_month">Previous month</tal:block>
      </a>
    </div>
    <div id="plonebooking-right-nav">
      <a tal:attributes="href string:${nav_base_url}&ts=${nextdate}">
        <tal:block i18n:translate="label_next_month">Next month</tal:block>&nbsp;&gt;
      </a>&nbsp;&nbsp;
      <a tal:attributes="href string:${nav_base_url}&ts=${nextnextdate}">
        <tal:block i18n:translate="label_next_3_months">Next 3 months</tal:block>&nbsp;&gt;&gt;
      </a>
    </div>
  </div>
</metal:block>

<!-- ****************************************
**          Year navigation
******************************************* -->
<metal:block metal:define-macro="year_navigation">
	<h3 id="dateTitle"
  		tal:content="python:btool.getFormatedYearDate(year)" />

  <div id="plonebooking-nav"
       tal:define="prevdate python:btool.substractYears(ts);
                   nextdate python:btool.addYears(ts);
                   prevprevdate python:btool.substractYears(ts, years=3);
                   nextnextdate python:btool.addYears(ts, years=3);">
    <div id="plonebooking-left-nav" >
      <a tal:attributes="href string:${nav_base_url}&ts=${prevprevdate}">
        &lt;&lt;&nbsp;<tal:block i18n:translate="label_previous_3_years">Previous 3 years</tal:block>
        </a>&nbsp;&nbsp;
      <a tal:attributes="href string:${nav_base_url}&ts=${prevdate}">
        &lt;&nbsp;<tal:block i18n:translate="label_previous_year">Previous year</tal:block>
      </a>
    </div>
    <div id="plonebooking-right-nav">
      <a tal:attributes="href string:${nav_base_url}&ts=${nextdate}">
        <tal:block i18n:translate="label_next_year">Next year</tal:block>&nbsp;&gt;
      </a>&nbsp;&nbsp;
      <a tal:attributes="href string:${nav_base_url}&ts=${nextnextdate}">
        <tal:block i18n:translate="label_next_3_years">Next 3 years</tal:block>&nbsp;&gt;&gt;
      </a>
    </div>
  </div>
</metal:block>

<!-- ****************************************
**          Calendar view menu
******************************************* -->
<metal:block metal:define-macro="calendar_menu"
             i18n:domain="plonebooking"
             tal:define="vocab python:btool.getListingViewVocabulary();
                         available_views python:here.getAvailableCalendarViews()">
	<div id="calendar-menu">
	  <tal:views tal:repeat="view available_views">
	    <a tal:define="icon string:${view}view.png;
	                   url string:${here/absolute_url}?ts=${ts}&dmode=calendar&dview=${view};
	                   url python:test(is_bcenter and btype is not None, '%s&btype=%s' % (url, btype), url);
	                   url python:test(is_bcenter and bcategory is not None, '%s&bcategory=%s' % (url, bcategory), url);
	                   title python:vocab.getValue(view)"
	       tal:attributes="href url;
	                       class python:test(dview == view, 'selected', None);"
        ><img tal:attributes="src   string:${portal_url}/$icon;
	                          alt   title;
	                          title title;"
	           i18n:attributes="title, alt" /></a>&nbsp;

	  </tal:views>
	</div>
</metal:block>

<!-- ****************************************
**          Calendar view dy day
******************************************* -->
<metal:block metal:define-macro="calendar_day"
             i18n:domain="plonebooking"
             tal:define="interval_in_minutes python: 30;
                         interval_in_seconds python: interval_in_minutes * 60;
                         cal_start_ts python:btool.setTsTime(ts, hour=here.getCalendarStartingHour());
                         cal_end_ts          python:btool.setTsTime(ts, hour=here.getCalendarEndingHour());
                         cal_start_dt        python:getZDateTimeFromts(cal_start_ts);
                         cal_end_dt          python:getZDateTimeFromts(cal_end_ts + interval_in_seconds);
                         hours               python: btool.buildPeriodList(cal_start_ts, cal_end_ts, interval_in_seconds);
                         booking_result      python:here.groupBookingsByIntervalOfMinutes(cal_start_dt, cal_end_dt, interval=interval_in_minutes, **filter_args);
                         group_keys          python:booking_result[0];
                         booking_groups      python:booking_result[1];
                         day_length   python: cal_end_ts - cal_start_ts + 3600;">

  <metal:block metal:use-macro="macro_def/day_navigation" />
  <table class="listing bookingsListing">
  <thead>
    <tr>
      <th i18n:translate="label_hour">Hour</th>
      <th/>
    </tr>
  </thead>
  <tbody id="bookingCalendar">
    <tal:loop tal:repeat="hour hours">

      <tal:defines tal:define="start_ts  hour;
                               end_ts    python:hour + interval_in_seconds;
                               start_dt  python:DateTime(start_ts);
                               end_dt    python:DateTime(end_ts);
                               group_key python:(start_dt.year(), start_dt.month(), start_dt.day(), (start_dt.hour() * 60 + start_dt.minute()),);
                               bookings  python:booking_groups.get(group_key, [])">
        <tr>
          <td class="bookingHourCell"
              tal:content="python: DateTime(hour).TimeMinutes()">
              8:00
          </td>
          <td class="bookingCell" style="width:100%;">
            <input type="hidden" tal:attributes="value string:${start_ts}:${end_ts}" />
            <a title="Book it"
               class="visualNoPrint bookIt "
               tal:condition="python:(bookableobject and not bookings or not bookableobject)"
               tal:attributes="href  string:${add_booking_url}?start_ts=${start_ts}&end_ts=${end_ts};
                               class string:visualNoPrint bookIt ${bookingClass};"
               i18n:attributes="title link_title_book_it">
              +
            </a>
            <tal:loop tal:repeat="booking bookings">
              <a href="#"
                 tal:define="state booking/review_state;
                             state python:test(state == 'booked', 'booked', 'pending');
                             booked_obj_uid booking/bookedObjectUID;
                             booked_obj python:get_object(booked_obj_uid);
                             booked_obj_title python:booked_obj.title_or_id();"
                 tal:attributes="href booking/url;
                                 class string:booking-${state};">
                <span tal:replace="booked_obj_title" /> :
                <tal:block i18n:translate="label_booked_by">booked by</tal:block> <span tal:replace="booking/creator" /> -
                <span tal:replace="booking/title" />
              </a>
            </tal:loop>
          </td>
        </tr>

      </tal:defines>
    </tal:loop>
  </tbody>
  </table>
  <metal:block metal:use-macro="macro_def/legend" />
</metal:block>

<!-- ****************************************
**          Calendar view by week
******************************************* -->
<metal:block metal:define-macro="calendar_week"
             i18n:domain="plonebooking"
             tal:define="interval_in_minutes python: 60;
                         interval_in_seconds python: interval_in_minutes * 60;
                         week           python: dt.week();
                         year           python: dt.year();
                         date_range     python: btool.getDateRangeFromWeek(week, year);
                         cal_start_dt   python: date_range[0];
                         cal_end_dt     python: date_range[1];
                         booking_result python: here.groupBookingsByIntervalOfMinutes(cal_start_dt, cal_end_dt, interval=interval_in_minutes, **filter_args);
                         group_keys     python: booking_result[0];
                         booking_groups python: booking_result[1];
                         days           python: ['', 'Monday', 'Tuesday','Wednesday', 'Thursday','Friday','Saturday', 'Sunday'];
                         days_header    python: btool.buildWeekDays(week, year);
                         starting_hour  python: here.getCalendarStartingHour();
                         ending_hour    python: here.getCalendarEndingHour();
                         week_table     python: btool.buildWeekTable(week, year, starting_hour=starting_hour, ending_hour=ending_hour, delta=interval_in_seconds);
                         cal_start_ts python: date_range[0].millis() / 1000;
                         day_length   python: 3600 * (ending_hour - starting_hour + 1); ">

  <metal:block metal:use-macro="macro_def/week_navigation" />



    <table class="listing bookingsListing">
      <thead>
        <tr id="week-days">
          <th>
            <!-- hour / weekday -->
          </th>
          <th tal:repeat="day days_header">
            <a  tal:attributes="href python: here.absolute_url()+'?dmode=calendar&dview=day&ts=' + str(day)"
                tal:content="python:btool.getFormatedDate(DateTime(day), with_year=0)" />
          </th>
        </tr>
      </thead>
      <tbody id="bookingCalendar">
        <tal:loop tal:repeat="line week_table">
        <tr>

          <td class="bookingHourCell" tal:content="python: DateTime(line[0]).TimeMinutes()">
            8:00
          </td>

          <tal:loop tal:repeat="day line">
            <tal:defines tal:define="start_ts  day;
                                     end_ts    python:start_ts + 3600 ;
                                     start_dt  python:DateTime(start_ts);
                               	     end_dt    python:DateTime(end_ts);
			                         group_key python:(start_dt.year(), start_dt.month(), start_dt.day(), (start_dt.hour() * 60 + start_dt.minute()),);
                               		 bookings  python:booking_groups.get(group_key, [])">

            <td class="bookingCell">
              <input type="hidden" tal:attributes="value string:${start_ts}:${end_ts}" />
              <a title="Book it"
                 class="visualNoPrint bookIt "
                 tal:condition="python:(bookableobject and not bookings and can_add_booking) or (not bookableobject and can_add_booking)"
                 tal:attributes="href  string:${add_booking_url}?start_ts=${start_ts}&end_ts=${end_ts};
                                 class string:visualNoPrint bookIt ${bookingClass};"
                 i18n:attributes="title link_title_book_it">
                  +
              </a>
              <tal:loop tal:repeat="booking bookings">
                <a href=""
                   title="Show more booking infos"
                   tal:define="state booking/review_state;
                               state python:test(state == 'booked', 'booked', 'pending');
                               booked_obj_uid booking/bookedObjectUID;
                               booked_obj python:get_object(booked_obj_uid);
                               booked_obj_title python:booked_obj.title_or_id();"
                   tal:attributes="href booking/url;
                                   class string:booking-${state};"
                   i18n:attributes="title show_more_infos">
                   <span tal:replace="booked_obj_title" /> :
                   <tal:block i18n:translate="label_booked_by">booked by</tal:block>
                   <span tal:replace="booking/creator" /> -
                   <span tal:replace="booking/title" />
                </a>
              </tal:loop>
            </td>
            </tal:defines>
          </tal:loop>
        </tr>
        </tal:loop>
      </tbody>
    </table>


    <metal:block metal:use-macro="macro_def/legend" />
</metal:block>

<!-- ****************************************
**          Calendar view by month
******************************************* -->
<metal:block metal:define-macro="calendar_month"
             i18n:domain="plonebooking"
             tal:define="interval_in_days    python:1;
                         month               python:dt.month();
                         year                python:dt.year();
                         date_range          python:btool.getDateRangeFromMonth(month, year);
                         start_date          python:date_range[0];
                         end_date            python:date_range[1];
                         booking_result      python:here.groupBookingsByDay(start_date, end_date, **filter_args);
                         group_keys          python:booking_result[0];
                         booking_groups      python:booking_result[1];
                         days_header         python:['Monday', 'Tuesday','Wednesday', 'Thursday','Friday','Saturday', 'Sunday'];
                         month_calendar      python: btool.buildMonthCalendar(year, month);
                         cal_start_ts python:start_date.millis() / 1000;
                         starting_hour       python: here.getCalendarStartingHour();
                         day_length   python:0;">

  <metal:block metal:use-macro="macro_def/month_navigation" />

    <table class="listing bookingsListing">
          <thead>
            <tr>
              <th class="discreet" i18n:translate="head_week_number">
                <!-- week / days -->
                 week number
              </th>
              <th tal:repeat="day days_header">
                <span i18n:translate="" tal:omit-tag="" tal:content="day" />
              </th>
            </tr>
          </thead>
          <tbody id="bookingCalendar">
            <tal:loop tal:repeat="line month_calendar">
            <tr>
              <td class="monthBookingCell monthBookingCellWeekDay">
                <!-- Week number -->
                <a href="" class="WeekNumber"
                   tal:define="dt python: DateTime(year, month, btool.getFirstValidDay(line))"
                   tal:attributes="href python: here.absolute_url()+'?&dmode=calendar&dview=week&ts='+str(btool.getTsFromZDateTime(dt))"
                   tal:content="python:dt.week()">
                   1
                </a>
              </td>

              <tal:loop tal:repeat="day_number line">
              <td tal:attributes="class python:test(day_number, 'monthBookingCell', 'monthBookingEmptyCell')">
                <tal:test tal:condition="day_number">
                <tal:defines tal:define="group_key python:(year, month, day_number);
                                         day_date  python:DateTime(*group_key);
                                     	 day_ts    python:btool.getTsFromZDateTime(day_date);
                                         start_ts  python:day_ts + starting_hour * 3600;
                                         end_ts    python:start_ts + 3600;
                               		 	     bookings  python:booking_groups.get(group_key, [])">
                  <a title="Book it"
                     class="visualNoPrint bookIt "
                     tal:condition="python: can_add_booking"
                     tal:attributes="href  string:${add_booking_url}?start_ts=${start_ts}&end_ts=${end_ts};
                                     class string:visualNoPrint bookIt ${bookingClass};"
                     i18n:attributes="title link_title_book_it">
                      +
                  </a>
                  <a href="#"
                     title="Show the day"
                     tal:attributes="href string:${here/absolute_url}?ts=${day_ts}&dmode=calendar&dview=day;"
                     i18n:attributes="title show_day"
                     tal:content="day_number" />
                  <div class="monthViewList">
                    <tal:loop tal:repeat="booking bookings">
                        <a  tal:define="state booking/review_state;
                                        state python:test(state == 'booked', 'booked', 'pending');
                                        booked_obj_uid booking/bookedObjectUID;
                                        booked_obj python:get_object(booked_obj_uid);
                                        booked_obj_title python:booked_obj.title_or_id();"
                            tal:attributes="class string:booking-${state};
                                            href booking/url;"
                            class="BookingThumb">
                          <tal:block
                            tal:condition="not:bookableobject">
                          <span tal:replace="booked_obj_title" />&nbsp;-&nbsp;</tal:block><span tal:replace="booking/title" />
                        </a>
                    </tal:loop>
                  </div>
                </tal:defines>
                </tal:test>
              </td>
              </tal:loop>

            </tr>
            </tal:loop>
          </tbody>
        </table>

  <metal:block metal:use-macro="macro_def/legend" />
</metal:block>

<!-- ****************************************
**          Listing view menu
******************************************* -->
<metal:block metal:define-macro="listing_menu"
             i18n:domain="plonebooking"
             tal:define="vocab python:btool.getListingViewVocabulary();
                         available_views python:here.getAvailableListingViews()">
	<div id="listing-menu">
	  <tal:views tal:repeat="view available_views">
	    <a tal:define="url string:${here/absolute_url}?ts=${ts}&dmode=listing&dview=${view};
	                   url python:test(is_bcenter and btype is not None, '%s&btype=%s' % (url, btype), url);
	                   url python:test(is_bcenter and bcategory is not None, '%s&bcategory=%s' % (url, bcategory), url);
	                   title python:vocab.getValue(view)"
	       tal:attributes="href url;
	       								 class python:test(dview == view, 'selected', None);"
	       tal:content="title" />&nbsp;
	  </tal:views>
	</div>
</metal:block>

<!-- ****************************************
**          Listing view
******************************************* -->
<metal:block metal:define-macro="listing_view" i18n:domain="plonebooking">
  <div class="bookingResults"
       tal:define="group_keys 			 python:booking_result[0];
                   booking_groups 		 python:booking_result[1];
                   display_groups 		 python:test(len(group_keys) == 1, False, True);
	               bookable_objects_dict python:dict([(x.UID(), x) for x in bookable_objects])">

    <tal:block tal:repeat="group_key group_keys">
      <tal:block tal:define="bookings python:booking_groups.get(group_key, None)">

        <tal:block tal:condition="display_groups">
        	<tal:block tal:condition="python:group_by == 'day'">
	        	<h4 tal:define="group_date python:DateTime(group_key[0], group_key[1], group_key[2])"
	        	    tal:content="python:btool.getFormatedDate(group_date)" />
	        </tal:block>
	        <tal:block tal:condition="python:group_by == 'month'">
		        <h4 tal:content="python:btool.getFormatedMonthDate(group_key[1], group_key[0])" />
		      </tal:block>
        </tal:block>

        <p tal:condition="not:bookings"
           i18n:translate="description_no_bookings_found">
        No bookings found.
        </p>

        <dl tal:condition="bookings">
          <tal:block tal:repeat="booking bookings">
          	<tal:block tal:define="start_fd python:btool.getFormatedLongDate(booking['start']);
                                   end_fd python:btool.getFormatedLongDate(booking['end'])">
	            <dt tal:define="title booking/title">
	              <a href=""
	                 tal:attributes="href booking/url">
	                <tal:block tal:condition="title"
	                           tal:content="title" i18n:translate="" />
	                <tal:block tal:condition="not:title"
	                           i18n:translate="label_dynamic_booking_title">
	                  Booking from
	                  <span i18n:name="start_date"
	                        tal:content="start_fd" />
	                  to
	                  <span i18n:name="end_date"
	                        tal:content="end_fd" />
	                </tal:block>
	              </a>
	            </dt>

	            <dd>
		            <div tal:define="bobject_uid booking/bookedObjectUID"
		                 tal:condition="python:here_uid!=bobject_uid">
		              <tal:block tal:define="ref_obj python:bookable_objects_dict.get(bobject_uid, None)"
		                         tal:condition="nocall: ref_obj">
		                <a href=""
		                   tal:define="url string:${ref_obj/absolute_url}?ts=${ts}&dmode=${dmode}&dview=${dview}"
		                   tal:attributes="href url"
		                   tal:content="ref_obj/title_or_id" />
		              </tal:block>
		            </div>
	            </dd>
	            <dd i18n:translate="description_booking_duration">
	              From
	              <span i18n:name="start_date"
	                    tal:content="start_fd" />
	              to
	              <span i18n:name="end_date"
	                    tal:content="end_fd" />
	            </dd>
	          </tal:block>
          </tal:block>
        </dl>
      </tal:block>
    </tal:block>
  </div>
</metal:block>

<!-- ****************************************
**          Listing view by day
******************************************* -->
<metal:block metal:define-macro="listing_day"
             i18n:domain="plonebooking"
             tal:define="date_range python:btool.getDateRangeFromDate(dt);
             			 start_date python:date_range[0];
                         end_date python:date_range[1];
                         group_by string:day;
                         booking_result python:here.groupBookingsByDay(start_date, end_date, **filter_args);
                         cal_start_ts   python: start_date.millis()/1000;
                         day_length     python: 0;">
  <metal:block metal:use-macro="macro_def/day_navigation" />
  <metal:block metal:use-macro="macro_def/listing_view" />
</metal:block>

<!-- ****************************************
**          Listing view by week
******************************************* -->
<metal:block metal:define-macro="listing_week"
             i18n:domain="plonebooking"
             tal:define="week python:dt.week();
                         year python:dt.year();
                         date_range python:btool.getDateRangeFromWeek(week, year);
                         start_date python:date_range[0];
                         end_date python:date_range[1];
                         group_by string:day;
                         booking_result python:here.groupBookingsByDay(start_date, end_date, **filter_args);
                         cal_start_ts   python: start_date.millis()/1000;
                         day_length     python: 0;">
  <metal:block metal:use-macro="macro_def/week_navigation" />
  <metal:block metal:use-macro="macro_def/listing_view" />

</metal:block>

<!-- ****************************************
**          Listing view by month
******************************************* -->
<metal:block metal:define-macro="listing_month"
             i18n:domain="plonebooking"
             tal:define="month          python:dt.month();
                         year           python:dt.year();
                         date_range     python:btool.getDateRangeFromMonth(month, year);
                         start_date     python:date_range[0];
                         end_date       python:date_range[1];
                         group_by       string:day;
                         booking_result python:here.groupBookingsByDay(start_date, end_date, **filter_args);
                         group_keys     python:booking_result[0];
                         booking_groups python: booking_result[1];
                         cal_start_ts   python: start_date.millis()/1000;
                         day_length     python: 0;">
  <metal:block metal:use-macro="macro_def/month_navigation" />
  <metal:block metal:use-macro="macro_def/listing_view" />
</metal:block>

<!-- ****************************************
**          Listing view by year
******************************************* -->
<metal:block metal:define-macro="listing_year"
             i18n:domain="plonebooking"
             tal:define="year                python:dt.year();
                         date_range          python:btool.getDateRangeFromYear(year);
                         start_date          python:date_range[0];
                         end_date            python:date_range[1];
                         group_by            string:month;
                         booking_result      python:here.groupBookingsByMonth(start_date, end_date, **filter_args);
                         cal_start_ts python: start_date.millis()/1000;
                         day_length   python: 0;">
  <metal:block metal:use-macro="macro_def/year_navigation" />
  <metal:block metal:use-macro="macro_def/listing_view" />
</metal:block>


<!-- ****************************************
**          Planning view by day
******************************************* -->
<metal:block metal:define-macro="planning_day"
             i18n:domain="plonebooking"
             tal:define="cal_start_ts python: btool.setTsTime(ts, hour=here.getCalendarStartingHour());
                         cal_end_ts          python: btool.setTsTime(ts, hour=here.getCalendarEndingHour());
                         cal_start_dt        python: getZDateTimeFromts(cal_start_ts);
                         cal_end_dt          python: getZDateTimeFromts(cal_end_ts);
                         interval_in_minutes python: 60;
                         interval_in_seconds python: interval_in_minutes * 60;
                         hours               python: btool.buildPeriodList(cal_start_ts, cal_end_ts, interval_in_seconds);
                         booking_result      python: here.groupBookingsByDay(cal_start_dt, cal_end_dt, **filter_args);
                         bookings            python: booking_result[1].values();
                         day_length   python: cal_end_ts - cal_start_ts + 3600;">

  <metal:block metal:use-macro="macro_def/day_navigation" />
  <table  class="planning" cellpadding="0" cellspacing="0">
    <thead>
      <tr>
        <th></th>
        <th tal:repeat="hour hours">
            <span tal:replace="python: DateTime(hour).hour()" />h
        </th>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td tal:repeat="hour hours"><img /></td>
      </tr>
    </thead>
    <tbody id="bookingPlanning">
      <tal:block  tal:condition="bookings"
                  tal:repeat="booking python: bookings[0]">
        <tr tal:define="start_ts         python: (booking['start'].millis() / 1000) - cal_start_ts;
                        end_ts           python: (booking['end'].millis() / 1000) - cal_start_ts;
                        left             python: round(100 * start_ts / float(day_length), 3);
                        width            python: round(100 * (end_ts - start_ts) / float(day_length), 3);
                        state            booking/review_state;
                        state            python: test(state == 'booked', 'booked', 'pending');
                        booked_obj_uid   booking/bookedObjectUID;
                        booked_obj       python:get_object(booked_obj_uid);
                        booked_obj_title python:booked_obj.title_or_id();">
          <td width="100%">
            <span tal:replace="booking/creator" /> -
            <span tal:replace="booking/title" />
          </td>
          <td tal:attributes="colspan python:len(hours)" class="timeline">
            <a   tal:attributes="style string:left: ${left}%;; width: ${width}%;;;
                                 class string:booking-${state};
                                 href  booking/url;">
                   <div tal:content="booked_obj_title" />
            </a>
          </td>
        </tr>
      </tal:block>
    </tbody>
  </table>
  <p align="center"
     tal:condition="not:bookings"
     i18n:translate="description_no_bookings_found">
      No bookings found.
  </p>

  <metal:block metal:use-macro="macro_def/legend" />
</metal:block>

<!-- ****************************************
**          Legend
******************************************* -->
<metal:block metal:define-macro="legend">
  <ul class="legend"
      i18n:domain="plone"
      tal:define="items python:[('booked', 'booking-booked'), ('pending', 'booking-pending')]">
    <tal:states tal:repeat="item items">
      <li tal:define="css_class python:item[1];
                      state python:item[0];"
          tal:attributes="class css_class;"
          i18n:translate=""
          tal:content="state" />
    </tal:states>
  </ul>
</metal:block>


<metal:block define-macro="defines"
             i18n:domain="plonebooking"
             tal:define="btool              here/portal_booking;
                         atool              nocall:portal/archetype_tool;
                         get_object         nocall:atool/getObject;
                         macro_def          nocall:here/plonebooking_macros/macros;
                         getDatetimeFromTs  nocall:btool/getDatetimeFromTs;
                         getZDateTimeFromts nocall:btool/getZDateTimeFromts;
                         getTsFromZDateTime nocall:btool/getTsFromZDateTime;
                         getTsFromDatetime  nocall:btool/getTsFromDatetime;
                         available_modes    python:here.getAvailableViewModes();
                         default_mode       python:here.getDefaultViewMode();
                         default_view       python:here.getDefaultCalendarView();

                         dmode              python:request.get('dmode', default_mode);
                         dview              python:request.get('dview', default_view);
                         btype              request/btype | btype | nothing;
                         bcategory          request/bcategory | bcategory | nothing;
                         here_title         here/title_or_id;
                         here_uid           here/UID;

                         bcenter            here/getBookingCenter;
                         bcenter_url        bcenter/absolute_url;
                         is_bcenter         python:bcenter == here;
                         bookableobject     bookableobject | request/bookableobject | python:not is_bcenter and here.getId() or None;
                         add_booking_url    python:is_bcenter and 'plonebooking_add_form' or 'plonebooking_add';
                         add_booking_url    string:${here/absolute_url}/${add_booking_url};

                         filter_args        python:test(is_bcenter, btool.buildFilter(getType=btype, getCategory=bcategory),
                                                                    btool.buildFilter(getBookedObjectUID=here_uid));
                         btypes             python:here.getBookableObjectTypes(review_state='published', **filter_args);
                         bcategories        python:here.getBookableObjectCategories(review_state='published', **filter_args);
                         bookable_objects   python:here.getBookableObjects(review_state='published', **filter_args);

                         ts                 python:request.get('ts', btool.getTodayTs());
                         dt                 python:getZDateTimeFromts(ts);
                         cal_start_ts       python:btool.setTsTime(ts, hour=here.getCalendarStartingHour());
                         member_fullname    python:member and member.getProperty('fullname', '');
                         member_email       python:member and member.getProperty('email', '');
                         member_phone       python:member and member.getProperty('phone', '');
                         view_macro_id      string:${dmode}_${dview};
                         view_macro         python:path('here/plonebooking_macros/macros/%s' % view_macro_id) ;
                         nav_base_url       string:${here/absolute_url}?dmode=${dmode}&dview=${dview};
                         nav_base_url       python:btype and (nav_base_url + '&btype=' + btype) or nav_base_url;
                         nav_base_url       python:bcategory and (nav_base_url + '&bcategory=' + bcategory) or nav_base_url;
                         nav_base_url       python:bookableobject and (nav_base_url + '&bookableobject=' + bookableobject) or nav_base_url;
                         bookingClass       python:test(bookableobject, 'bookableObject', '');
                         can_add_booking    python:mtool.checkPermission('PloneBooking: Add booking', here);
                         can_modify         python:mtool.checkPermission('Modify portal content', here);
                         refresh_mode       here/getCalendarRefreshMode;
                         required_filters   here/getRequiredFilters;
                         manual_refresh     python:refresh_mode == 'manual' or required_filters;
						             ref                request/refresh-filter | nothing;">
  <metal:content define-slot="content" />
</metal:block>

<!-- ****************************************
**          Main
******************************************* -->
<metal:block metal:define-macro="main_view">
  <metal:content use-macro="here/plonebooking_macros/macros/defines">
    <metal:fill fill-slot="content">
      <form method="get" id="booking-form"
            tal:attributes="action string:${here/absolute_url}/${template/getId}">
        <input type="hidden" name="ts"             tal:attributes="value ts" />
        <input type="hidden" name="center_url"     tal:attributes="value here/absolute_url" />
        <input type="hidden" name="dview"          tal:attributes="value dview" />
        <input type="hidden" name="start_ts"       tal:attributes="value cal_start_ts | nothing" />
        <input type="hidden" name="length_ts"      tal:attributes="value day_length   | nothing" />
        <input type="hidden" name="isAnon"         tal:attributes="value isAnon" />
        <input type="hidden" name="portal_url"     tal:attributes="value string:${portal_url}" />

        <tal:block tal:condition="not:btypes">
        	<p i18n:translate="description_no_bookable_object">
        	No object can be booked.
        	</p>
        </tal:block>

        <div tal:condition="btypes">

      		<div id="booking-filter">
      			<metal:block metal:use-macro="here/booking_filter/macros/main" />
      		</div>

          <tal:block tal:condition="manual_refresh">
            <div id="plonebooking-view">&nbsp;</div>
          </tal:block>

          <tal:block tal:condition="not:manual_refresh">

            <div id="plonebooking-view">

              <metal:block define-macro="booking_view">
                <h2 tal:condition="is_bcenter"
                    i18n:translate="title_bookings_for_bookable_objects">
                  Bookings for bookable objects
                </h2>

                <h2 tal:condition="not:is_bcenter"
                    i18n:translate="title_bookings_for_bookable_object">
                  Bookings for bookable object:
                  <tal:block i18n:name="bookableobject" tal:content="here/title_or_id" />
                </h2>

                <p>
      	          <span i18n:translate="description_add_new_booking">
      	            Select a view, search for availability and

      	            <span i18n:name="add_new_booking">
      	              <a href="add_booking_url" class="bootIt" id="addNewBooking"
      	                 onclick="return Booking.editPopup(event);"
      	                 tal:define="start_ts     cal_start_ts;
      	                             end_ts       python:start_ts + 3600"
      	                 tal:attributes="href  string:${add_booking_url}?start_ts=${start_ts}&end_ts=${end_ts};
      	                                 class string:bookIt ${bookingClass}"
      	                 i18n:translate="label_add_new_booking">
      	                add new booking
      	              </a>
      	            </span>
      				.
      	          </span>
      	          <span i18n:translate="description_add_new_booking_in_calendar_view"
      	                tal:condition="python:'calendar' in available_modes">
      	            On calendar view, add a new booking by clicking on « + ».
      	          </span>
                </p>

                <metal:block metal:use-macro="view_macro" />
              </metal:block>
            </div>
          </tal:block>
        </div>
      </form>
    </metal:fill>
  </metal:content>
</metal:block>

<!--
  Menu for Booking
-->

<metal:block metal:define-macro="booking_menu">
  <div id="booking-menu"
       tal:define="transitions       workflow_actions;
                   can_modify        python:checkPermission('Modify portal content', here);
                   actions           python:actions.get('object', []);
                   displayed_actions python:('view', 'edit', 'periodicity')"
       tal:condition="can_modify">
      <tal:loop repeat="action actions">

        <tal:action condition="python: action['id'] in displayed_actions">
          <a href="#"
             class="context"
             tal:attributes="href action/url"
             tal:content="action/id"
             i18n:domain="plonebooking"
             i18n:translate="">
            Modify
          </a>
        </tal:action>
      </tal:loop>



      <tal:loop repeat="transition transitions">

        <a href="#"
           class="context"
           i18n:translate=""
           tal:content="transition/name"
           i18n:domain="plone"
           i18n:attributes="title"
           tal:attributes="href string:${here/absolute_url}/content_status_modify?workflow_action=${transition/id};
                           title transition/name">File Menu Item 1</a>
      </tal:loop>
  </div>
</metal:block>

<!--
Link to booking reference types
-->
<metal:block define-macro="booking_ref"
             i18n:domain="plonebooking">
 <span style="padding : 0px 0px 10px 0px;">
  <img src=""
       style="float:left; padding : 4px 5px 10px 0px;"
       tal:attributes="src python: portal.absolute_url()+'/arrowUp.gif'"
        	 />
  <a href=""
	   class="link-parent"
	   tal:define="booked_obj here/getBookedObject"
	   tal:attributes="href booked_obj/absolute_url"
	   i18n:translate="label_up_to_booked_object">
	Up to booked object
	</a>
</metal:block>

<!-- ****************************************
**          Read only field
******************************************* -->
<metal:block define-macro="read_only_field"
             i18n:domain="plonebooking">
</metal:block>





[g_zanobini.vcf]

begin:vcard
fn:Giacomo Zanobini
n:Zanobini;Giacomo
org:ARPAT;SIRA - TIC
adr;dom:;;;Firenze
email;internet:[hidden email]
tel;work:055 320 6066
x-mozilla-html:TRUE
url:http://www.arpat.toscana.it
version:2.1
end:vcard



_______________________________________________
Plone-IT mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html
Riccardo Lemmi

Re: formato data visualizzato male

Reply Threaded More More options
Print post
Permalink
In reply to this post by jack1973
On Monday 06 July 2009, Giacomo Zanobini wrote:
> ...anzi, per niente visualizzato
>
> il mio è un sistema appena istallato con buildout
>...

Probabilmente c'è un bug nel codice.

Dato che probabilmente su questa lista non c'è molta gente che usa
PloneBooking  forse è meglio se controlli nell'ordine:
 - se c'è un apposito bug tracker
 - se esiste una mailing list specifica
 - se c'è la mail dello sviluppatore principale per segnalare il problema
 - provare con la lista internazionale: [hidden email]
--
Riccardo Lemmi                           Email:   [hidden email]
Reflab S.r.l. - Plone Design, Development and Consulting
Phone: +39 349 4620820                         http://www.reflab.it


_______________________________________________
Plone-IT mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html

signature.asc (196 bytes) Download Attachment
Luca Fabbri

Re: formato data visualizzato male (aggiornamento II)

Reply Threaded More More options
Print post
Permalink
In reply to this post by jack1973
2009/7/6 Giacomo Zanobini <[hidden email]>:

> mentre aspetto che qualcuno che sa dove mettere le mani, mi aiuti, ho
> cercato di capire come funziona questo PloneBooking (che tempo fa, sulla 3.0
> avevo provato ad installare..... io penso anche in quel caso si trattasse
> della 2.2.1, ma lo feci copiando la cartella in Products)
>
>
> dunque, dicevo, guardando il codice di
> portal_skins/plonebooking_templates/plonebooking_macros
> ho trovato questo pezzetto, che si occupa di scrivere la data, nel formato
> giusto
>
> <!-- ****************************************
> **          Day navigation
> ******************************************* -->
> <metal:block metal:define-macro="day_navigation">
>   <h3 id="dateTitle">
>     <a tal:attributes="href string:${nav_base_url}&ts=${ts}"
>        tal:content="python: btool.getFormatedDate(dt)" />
>   </h3>
> </metal:block>
>
> dove:
>
>                          ts                 python:request.get('ts',
> btool.getTodayTs());
>                          dt                 python:getZDateTimeFromts(ts);
>
> ho scoperto che se provo a "customizzare" il file, mi appare un errore
> che dice
>
> Macro expansion failed
> exceptions.KeyError: 'macro_def'
>
> potrebbe essere qui l'inghippo?
> se provo a "customizzare" un file, non dovrebbe dare errore, giusto?
> che ci sia un bug nel prodotto?
>
>
>

No no... con alcuni vecchi template andando in edit nella custom
ottieni quell'errore, ma puoi customizzare salvare normalmente


--
-- luca

_______________________________________________
Plone-IT mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html