]> code.citadel.org Git - citadel.git/blobdiff - webcit/event.c
* 'Check Attendee Availability' button is now enabled or disabled depending upon...
[citadel.git] / webcit / event.c
index ae3417462b3f6ae17fa57cfcf02cdb6fd5663679..25ad1514a3c1a3dc7beee05bef321c60c88e79fd 100644 (file)
@@ -33,6 +33,13 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum,
        char weekday_labels[7][32];
        char month_labels[12][32];
        long weekstart = 0;
+       icalproperty *rrule = NULL;
+       struct icalrecurrencetype recur;
+
+       char *tabnames[3];
+       tabnames[0] = _("Event");
+       tabnames[1] = _("Attendees");
+       tabnames[2] = _("Recurrence");
 
        get_pref_long("weekstart", &weekstart, 17);
        if (weekstart > 6) weekstart = 0;
@@ -126,7 +133,7 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum,
        wprintf("SEQUENCE == %d<br />\n", sequence);
        *************************************************************/
 
-       wprintf("<FORM NAME=\"EventForm\" METHOD=\"POST\" action=\"save_event\">\n");
+       wprintf("<form name=\"EventForm\" method=\"POST\" action=\"save_event\">\n");
        wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%d\">\n", WC->nonce);
 
        wprintf("<INPUT TYPE=\"hidden\" NAME=\"msgnum\" VALUE=\"%ld\">\n",
@@ -140,11 +147,6 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum,
        wprintf("<INPUT TYPE=\"hidden\" NAME=\"day\" VALUE=\"%s\">\n",
                bstr("day"));
 
-       char *tabnames[] = {
-               _("Event"),
-               _("Attendees"),
-               _("Recurrence")
-       };
 
        tabbed_dialog(3, tabnames);
        begin_tab(0, 3);
@@ -260,7 +262,7 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum,
        wprintf(_("Notes"));
        wprintf("</B></TD><TD>\n"
                "<TEXTAREA NAME=\"description\" wrap=soft "
-               "ROWS=5 COLS=80 WIDTH=80>\n"
+               "ROWS=5 COLS=72 WIDTH=72>\n"
        );
        p = icalcomponent_get_first_property(vevent, ICAL_DESCRIPTION_PROPERTY);
        if (p != NULL) {
@@ -386,7 +388,9 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum,
 
        wprintf("</TD><TD>"
                "<TEXTAREA %s NAME=\"attendees\" id=\"attendees_box\" wrap=soft "
-               "ROWS=3 COLS=80 WIDTH=80>\n",
+               "onchange=\"EnableOrDisableCheckButton();\" "
+               "onKeyPress=\"EnableOrDisableCheckButton();\" "
+               "ROWS=10 COLS=72 WIDTH=72>\n",
                (organizer_is_me ? "" : "DISABLED ")
        );
        i = 0;
@@ -414,8 +418,6 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum,
 
        /* Recurrence tab */
        begin_tab(2, 3);
-       icalproperty *rrule = NULL;
-       struct icalrecurrencetype recur;
 
        rrule = icalcomponent_get_first_property(vevent, ICAL_RRULE_PROPERTY);
        if (rrule) {
@@ -708,8 +710,7 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum,
                "&nbsp;&nbsp;"
                "<INPUT TYPE=\"submit\" NAME=\"delete_button\" VALUE=\"%s\">\n"
                "&nbsp;&nbsp;"
-               "<INPUT TYPE=\"submit\" NAME=\"check_button\" "
-                               "VALUE=\"%s\">\n"
+               "<INPUT TYPE=\"submit\" id=\"check_button\" NAME=\"check_button\" VALUE=\"%s\">\n"
                "&nbsp;&nbsp;"
                "<INPUT TYPE=\"submit\" NAME=\"cancel_button\" VALUE=\"%s\">\n"
                "</CENTER>\n",
@@ -724,8 +725,9 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum,
        wprintf("</div>\n");                    /* end 'fix_scrollbar_bug' div */
 
        StrBufAppendPrintf(WC->trailing_javascript,
-               "eventEditAllDay();     \n"
-               "RecurrenceShowHide();  \n"
+               "eventEditAllDay();             \n"
+               "RecurrenceShowHide();          \n"
+               "EnableOrDisableCheckButton();  \n"
        );
        address_book_popup();
        wDumpContent(1);
@@ -798,12 +800,11 @@ void save_individual_event(icalcomponent *supplied_vevent, long msgnum, char *fr
                }
 
                if (havebstr("summary")) {
-       
                        icalcomponent_add_property(vevent,
                                        icalproperty_new_summary(bstr("summary")));
                } else {
                        icalcomponent_add_property(vevent,
-                                       icalproperty_new_summary("Untitled Event"));
+                                       icalproperty_new_summary(_("Untitled Event")));
                }
        
                while (prop = icalcomponent_get_first_property(vevent,
@@ -1018,11 +1019,7 @@ void save_individual_event(icalcomponent *supplied_vevent, long msgnum, char *fr
 
                /* First, strip out the parenthesized partstats.  */
                strcpy(form_attendees, bstr("attendees"));
-               do {
-                       i = strlen(form_attendees);
-                       stripout(form_attendees, '(', ')');
-                       j = strlen(form_attendees);
-               } while (i != j);
+               while ( stripout(form_attendees, '(', ')') != 0);
 
                /* Next, change any commas to newlines, because we want newline-separated attendees. */
                j = strlen(form_attendees);
@@ -1145,8 +1142,13 @@ STARTOVER:       for (attendee = icalcomponent_get_first_property(vevent, ICAL_ATTENDE
                icalcomponent_free(vevent);
        }
 
-       /* If this was a save or delete, go back to the calendar view. */
+       /* If this was a save or delete, go back to the calendar or summary view. */
        if (!havebstr("check_button")) {
-               readloop("readfwd");
+               if (!strcasecmp(bstr("calview"), "summary")) {
+                       summary();
+               }
+               else {
+                       readloop(readfwd);
+               }
        }
 }