Ignore:
Timestamp:
08/08/12 17:27:35 (12 years ago)
Author:
thiago
Message:

Ticket #2966 - Implementação da tela tarefas no módulo expressoMail.

Location:
sandbox/2.4.2-expresso1
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • sandbox/2.4.2-expresso1/expressoMail1_2/index.php

    r6768 r6965  
    2323        echo "<script src='js/modal/modal.js'></script>"; 
    2424        //jquery and Editor  
    25         echo '                   
     25        echo '  
    2626                <link rel="stylesheet" type="text/css" href="templates/default/main.css"></link> 
     27                 
    2728                <link rel="stylesheet" type="text/css" href="../phpgwapi/js/dftree/dftree.css"></link> 
     29                 
     30                <link rel="stylesheet" type="text/css" href="../prototype/plugins/jquery.spinner/jquery.spinner.css"></link> 
    2831                <link rel="stylesheet" type="text/css" href="../prototype/plugins/fullcalendar/fullcalendar.css"></link> 
    2932                <link rel="stylesheet" type="text/css" href="../prototype/plugins/fullcalendar/fullcalendar.print.css"></link> 
     
    3235                <script type="text/javascript" src="../prototype/plugins/jquery/jquery.min.js"></script> 
    3336                <link href="../prototype/modules/filters/filters.css" rel="stylesheet" type="text/css"> 
     37                 
    3438                <script type="text/javascript" src="../prototype/plugins/jquery/jquery-ui.min.js"></script> 
    3539                <script src="../prototype/plugins/json2/json2.js" language="javascript"></script> 
  • sandbox/2.4.2-expresso1/expressoMail1_2/js/draw_api.js

    r6934 r6965  
    29942994                }); 
    29952995                new_task_logo.onclick = function(){ 
    2996                         alert(1); 
     2996                import_implements_calendar(); 
     2997                 
     2998                 
     2999                        DataLayer.dispatchPath = "../prototype/"; 
     3000                        var path = "../prototype/modules/calendar/"; 
     3001                        taskDetails(decodeCreateSchedulable('task', ID), true, path, true); 
    29973002                } 
    29983003                 
     
    30143019                        DataLayer.dispatchPath = "../prototype/"; 
    30153020                        var path = "../prototype/modules/calendar/"; 
    3016                          
    3017                         var startEvent = new Date();   
    3018                         if(startEvent.toString('mm') < 30)  
    3019                                 startEvent.add({minutes: (30 - parseInt(startEvent.toString('mm')))});  
    3020                         else  
    3021                                 startEvent.add({hours: 1, minutes: '-'+startEvent.toString('mm')});  
    3022                         var endEvent = function(date){  
    3023                                 if(!!User.preferences.defaultCalendar){  
    3024                                         return  new Date(parseInt(date.getTime()) +  
    3025                                                     (!!Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration ?   
    3026                                                         (Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration * 60000) : 
    3027                                                         (User.preferences.defaultDuration * 60000) 
    3028                                                 )); 
    3029                                 }else  
    3030                                         return new Date(parseInt(date.getTime()) + (User.preferences.defaultDuration * 60000));  
    3031                         };        
    3032  
    3033                         var emails = $("#to_values_"+ID).val().split(','); 
    3034                          
    3035                          
    3036                         //Normalização dos dados evita ter que reemplementar toda as funcionalidades do calendar 
    3037                         eventDetails({  
    3038                                          
    3039                                         acl: {inviteGuests: true, organization: true ,participationRequired: false, read: true, write: true}, 
    3040                                         alarms: [], 
    3041                                         allDay: false, 
    3042                                         attachments: [], 
    3043                                         isAttendee: true, 
    3044                                         attendee: '',//TODOOOOOO, 
    3045                                         calendar: User.preferences.defaultCalendar ? User.preferences.defaultCalendar : Calendar.calendars[0], 
    3046                                         calendars: Calendar.calendars, 
    3047                                         category: '', 
    3048                                         'class': '1', 
    3049                                         delegatedFrom: {}, 
    3050                                         endDate: startEvent.toString(User.preferences.dateFormat), 
    3051                                         startDate: endEvent(startEvent).toString(User.preferences.dateFormat), 
    3052                                         startHour: startEvent.toString(User.preferences.hourFormat), 
    3053                                         endHour: endEvent(startEvent).toString(User.preferences.hourFormat), 
    3054                                         timezone: User.preferences.defaultCalendar ? Calendar.signatureOf[User.preferences.defaultCalendar].calendar.timezone : User.preferences.timezone, 
    3055                                         summary : $("#subject_"+ID).text(), 
    3056                                         description : $("#body_" + ID).text(), 
    3057                                         startTime: startEvent.getTime(), 
    3058                                         endTime: endEvent(startEvent), 
    3059                                         timezones: Timezone.timezones, 
    3060                                         me: {name: User.me.name, mail: User.me.mail, acl: 'rowi', status: '1', delegatedFrom: '0', id: User.me.id}, 
    3061                                         organizer: {name: User.me.name, mail: User.me.mail, acl: 'rowi', status: '1', delegatedFrom: '0' , id: User.me.id}, 
    3062                                         statusParticipants: {accepted: 0, cancelled: 0, tentative: 0, unanswered:emails.length}, 
    3063                                         location: '', 
    3064                                         attendee: $.map(emails, function( mail ){                        
    3065                                                 var contact = false; 
    3066                                                 var decoded =  Encoder.htmlDecode(mail); 
    3067                                                 var newAttendeeName = ""; 
    3068  
    3069                                                 var name = decoded.match(/"([^"]*)"/) ? decoded.match(/"([^"]*)"/)[1] : ''; 
    3070                                                 var mail = decoded.match(/<([^<]*)>[\s]*$/) ? decoded.match(/<([^<]*)>[\s]*$/)[1].toLowerCase() : decoded;  
    3071  
    3072  
    3073                                                 var user = DataLayer.get('user', ["=", "mail", mail], true); 
    3074                                                  
    3075                                                 if( $.type(user) == "array") 
    3076                                                     user = user[0]; 
    3077  
    3078                                                 if(user != ''){ 
    3079                                                     //user = {name : name , mail : mail}; 
    3080                                                     if(User.me.mail == user.mail) 
    3081                                                             return(null); 
    3082                                                     user.isExternal = (!!user && !(!!user.isExternal)) ? 0 : 1; 
    3083  
    3084                                                     return  DataLayer.merge({ 
    3085                                                             name: user.name, 
    3086                                                             mail: user.mail, 
    3087                                                             acl:  'r', 
    3088                                                             delegatedFrom: '0', 
    3089                                                             status: '4', 
    3090                                                             isExternal: user.isExternal 
    3091                                                     }, !!user.id ? {id : DataLayer.put('participant', {user: user.id, isExternal: user.isExternal})} : {id: DataLayer.put('participant', {user: user})});  
    3092                                                 }else if(mail.match(/[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])/)){ 
    3093                                                      
    3094                                                     var userId = DataLayer.put('user', { 
    3095                                                         name: name,  
    3096                                                         mail: mail,  
    3097                                                         isExternal: '1' 
    3098                                                     }); 
    3099                                                     var newAttendeeId = DataLayer.put('participant', { 
    3100                                                         user: userId,  
    3101                                                         isExternal: '1' 
    3102                                                     }); 
    3103  
    3104                                                     return  { 
    3105                                                             id: newAttendeeId, 
    3106                                                             name: name, 
    3107                                                             mail: mail, 
    3108                                                             acl:  'r', 
    3109                                                             delegatedFrom: '0', 
    3110                                                             status: '4', 
    3111                                                             isExternal: '1' 
    3112                                                     }; 
    3113                                                      
    3114                                                 }else 
    3115                                                     return (null); 
    3116                                         })       
    3117                                          
    3118                         }, true, path, true); 
     3021 
     3022                        eventDetails(decodeCreateSchedulable('event', ID), true, path, true); 
    31193023                } 
    31203024                subject.appendChild(new_event_logo); 
  • sandbox/2.4.2-expresso1/expressoMail1_2/js/main.js

    r6891 r6965  
    11// Tempo do auto refresh (em milisegundos) 
    2 var time_refresh = 300000; 
     2//var time_refresh = 300000; 
     3var time_refresh = 30000; 
    34 
    45// tempo do auto save (em milisegundos) 
     
    587588        getFromAlertRules(); 
    588589        var handler_refresh = function(data){ 
    589                 handlerMessageFilter = function (data) {                                 
    590                     notificationFilter(data, notifyPermission); 
    591                     alarmFollowupflagged('filtersAlarms', data);         
     590                handlerMessageFilter = function (data) {                         
     591                        if(checkAlarmsFilter){ 
     592                                alarmFollowupflagged('filtersAlarms', data); 
     593                        } 
     594                        notificationFilter(data, notifyPermission); 
     595                         
     596                        checkAlarmsFilter = true; 
     597                         
    592598                } 
    593599                /* Busca  nas pastas indexadas para ver se há novas mensagens com a flag $FilteredMessage */ 
     
    38523858} 
    38533859 
     3860//Normalização dos dados evita ter que reemplementar toda as funcionalidades do calendar 
     3861function decodeCreateSchedulable(type, ID){ 
     3862        var startEvent = new Date();   
     3863        if(startEvent.toString('mm') < 30)  
     3864                startEvent.add({minutes: (30 - parseInt(startEvent.toString('mm')))});  
     3865        else  
     3866                startEvent.add({hours: 1, minutes: '-'+startEvent.toString('mm')});  
     3867        var endEvent = function(date){  
     3868        if(!!User.preferences.defaultCalendar){  
     3869                return  new Date(parseInt(date.getTime()) +  
     3870                        (!!Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration ?   
     3871                        (Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration * 60000) : 
     3872                        (User.preferences.defaultDuration * 60000) 
     3873                )); 
     3874        }else  
     3875                return new Date(parseInt(date.getTime()) + (User.preferences.defaultDuration * 60000));  
     3876        };        
     3877 
     3878        var emails = $("#to_values_"+ID).val().split(','); 
     3879         
     3880        var schedulable = {}; 
     3881         
     3882        schedulable = {  
     3883                acl: {inviteGuests: true, organization: true ,participationRequired: false, read: true, write: true}, 
     3884                alarms: [], 
     3885                allDay: false, 
     3886                attachments: [], 
     3887                isAttendee: true, 
     3888                attendee: '',//TODOOOOOO, 
     3889                category: '', 
     3890                'class': '1', 
     3891                delegatedFrom: {}, 
     3892                endDate: startEvent.toString(User.preferences.dateFormat), 
     3893                startDate: endEvent(startEvent).toString(User.preferences.dateFormat), 
     3894                startHour: startEvent.toString(User.preferences.hourFormat), 
     3895                endHour: endEvent(startEvent).toString(User.preferences.hourFormat), 
     3896                timezone: User.preferences.defaultCalendar ? Calendar.signatureOf[User.preferences.defaultCalendar].calendar.timezone : User.preferences.timezone, 
     3897                summary : $("#subject_"+ID).text(), 
     3898                description : $("#body_" + ID).text(), 
     3899                startTime: startEvent.getTime(), 
     3900                endTime: endEvent(startEvent), 
     3901                timezones: Timezone.timezones, 
     3902                me: {name: User.me.name, mail: User.me.mail, acl: 'rowi', status: '1', delegatedFrom: '0', id: User.me.id}, 
     3903                organizer: {name: User.me.name, mail: User.me.mail, acl: 'rowi', status: '1', delegatedFrom: '0' , id: User.me.id}, 
     3904                statusParticipants: {accepted: 0, cancelled: 0, tentative: 0, unanswered:emails.length}, 
     3905                location: '', 
     3906                attendee: $.map(emails, function( mail ){                        
     3907                        var contact = false; 
     3908                        var decoded =  Encoder.htmlDecode(mail); 
     3909                        var newAttendeeName = ""; 
     3910 
     3911                        var name = decoded.match(/"([^"]*)"/) ? decoded.match(/"([^"]*)"/)[1] : ''; 
     3912                        var mail = decoded.match(/<([^<]*)>[\s]*$/) ? decoded.match(/<([^<]*)>[\s]*$/)[1].toLowerCase() : decoded;  
     3913 
     3914 
     3915                        var user = DataLayer.get('user', ["=", "mail", mail], true); 
     3916                         
     3917                        if( $.type(user) == "array" ) 
     3918                                user = user[0]; 
     3919 
     3920                        if(user != ''){ 
     3921                                //user = {name : name , mail : mail}; 
     3922                                if(User.me.mail == user.mail) 
     3923                                        return(null); 
     3924                                user.isExternal = (!!user && !(!!user.isExternal)) ? 0 : 1; 
     3925 
     3926                                return  DataLayer.merge({ 
     3927                                        name: user.name, 
     3928                                        mail: user.mail, 
     3929                                        acl:  'r', 
     3930                                        delegatedFrom: '0', 
     3931                                        status: '4', 
     3932                                        isExternal: user.isExternal 
     3933                                }, !!user.id ? {id : DataLayer.put('participant', {user: user.id, isExternal: user.isExternal})} : {id: DataLayer.put('participant', {user: user})});  
     3934                        }else if(mail.match(/[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])/)){ 
     3935                                 
     3936                                var userId = DataLayer.put('user', { 
     3937                                name: name,  
     3938                                mail: mail,  
     3939                                isExternal: '1' 
     3940                                }); 
     3941                                var newAttendeeId = DataLayer.put('participant', { 
     3942                                user: userId,  
     3943                                isExternal: '1' 
     3944                                }); 
     3945 
     3946                                return  { 
     3947                                        id: newAttendeeId, 
     3948                                        name: name, 
     3949                                        mail: mail, 
     3950                                        acl:  'r', 
     3951                                        delegatedFrom: '0', 
     3952                                        status: '4', 
     3953                                        isExternal: '1' 
     3954                                }; 
     3955                                 
     3956                        }else 
     3957                                return (null); 
     3958                }) 
     3959        }; 
     3960 
     3961        schedulable  = DataLayer.merge(schedulable,  
     3962                type == 'event' ?  
     3963                {calendar: User.preferences.defaultCalendar ? User.preferences.defaultCalendar : Calendar.calendars[0], calendars: Calendar.calendars} 
     3964                : {group: Calendar.groups[0].id, groups: Calendar.groups} 
     3965        ); 
     3966         
     3967        return schedulable; 
     3968             
     3969 
     3970} 
     3971 
    38543972function import_implements_calendar(){ 
    38553973 
     
    38653983                $.ajax({url: "../prototype/modules/calendar/js/map.disponibility.js", async: false, beforeSend: function( xhr ) {xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 
    38663984                $.ajax({url: "../prototype/modules/calendar/js/helpers.js", async: false, beforeSend: function( xhr ) {xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 
     3985                $.ajax({url: "../prototype/modules/calendar/js/task.helpers.js", async: false, beforeSend: function( xhr ) {xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 
    38673986                //$.ajax({ url: "../prototype/modules/calendar/js/timezone.js", async: false}); 
    38683987                //$.ajax({ url: "../prototype/modules/calendar/js/calendar.codecs.js", async: false}); 
    38693988                $.ajax({url: "../prototype/plugins/encoder/encoder.js", async: false, beforeSend: function( xhr ) {xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 
     3989                $.ajax({url: "../prototype/plugins/jquery.spinner/jquery.spinner.min.js", async: false, beforeSend: function( xhr ) {xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 
    38703990                //$.ajax({url: "../prototype/plugins/dateFormat/dateFormat.js", async: false, beforeSend: function( xhr ) { xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 
    38713991 
  • sandbox/2.4.2-expresso1/expressoMail1_2/templates/default/main.css

    r6751 r6965  
    896896 
    897897 
    898  
    899898/* 
    900899 * Este arquivo limpa o estilo para a nova agenda, .new-event-win.active sobrescrevendo o código CSS 
     
    926925/*      font-family: Arial,Helvetica,sans-serif;*/ 
    927926/*}*/ 
    928 .new-event-win.active:focus { 
     927.new-event-win.active:focus, .new-task-win.active:focus { 
    929928        outline: 0; 
    930929} 
    931 .new-event-win.active body { 
     930.new-event-win.active body , .new-task-win.active body { 
    932931        line-height: 1; 
    933932        color: black; 
    934933        background: white; 
    935934} 
    936 .new-event-win.active ol, .new-event-win.active ul { 
     935.new-event-win.active ol, .new-event-win.active ul , .new-task-win.active ol, .new-task-win.active ul { 
    937936        list-style: none; 
    938937        list-style-image : none; 
     
    940939} 
    941940 
    942 .new-event-win.active table { 
     941.new-event-win.active table , .new-task-win.active table { 
    943942        border-collapse: separate; 
    944943        border-spacing: 0; 
    945944} 
    946 .new-event-win.active caption, .new-event-win.active th, .new-event-win.active td { 
     945.new-event-win.active caption, .new-event-win.active th, .new-event-win.active td, .new-task-win.active caption, .new-task-win.active th, .new-task-win.active td { 
    947946        /*text-align: left;*/ 
    948947        font-weight: normal; 
    949948} 
    950949.new-event-win.active blockquote:before, .new-event-win.active blockquote:after, 
    951 .new-event-win.active q:before, .new-event-win.active q:after { 
     950.new-event-win.active q:before, .new-event-win.active q:after, 
     951.new-task-win.active blockquote:before, .new-task-win.active blockquote:after, 
     952.new-task-win.active q:before, .new-task-win.active q:after { 
    952953        content: ""; 
    953954} 
    954 .new-event-win.active blockquote, .new-event-win.active q { 
     955.new-event-win.active blockquote, .new-event-win.active q , 
     956.new-task-win.active blockquote, .new-task-win.active q  
     957{ 
    955958        quotes: "" ""; 
    956959} 
    957 .new-event-win.active .mail.name-special, .new-event-win.active .name.name-special{ 
     960.new-event-win.active .mail.name-special, .new-event-win.active .name.name-special, 
     961.new-task-win.active .mail.name-special, .new-task-win.active .name.name-special 
     962{ 
    958963  padding: 0 0 0 35px; 
    959964} 
    960965 
    961 .new-event-win.active .add-attendee-search.search-field { 
     966.new-event-win.active .add-attendee-search.search-field , 
     967.new-task-win.active .add-attendee-search.search-field  
     968{ 
    962969  width: 249px; 
    963970 } 
    964971  
    965  .new-event-win.active #calendar_addevent_details4 { 
     972 .new-event-win.active #calendar_addevent_details4, .new-task-win.active #calendar_addtask _details4 { 
    966973  margin: 10px 0 0 0; 
    967974 }  
    968975  
    969  .new-event-win.active input{ 
     976 .new-event-win.active input, .new-task-win.active input{ 
    970977  color: #000; 
    971978 }  
    972979  
    973  .new-event-win.active #calendar_addevent_details5 { 
     980 .new-event-win.active #calendar_addevent_details5 , .new-task-win.active #calendar_addtask_details5 { 
    974981  margin: 10px 0 11px 0; 
    975982 } 
    976983 
    977 .new-event-win.active select { 
     984 .new-event-win fieldset.tab-level2, .new-task-win fieldset.tab-level2 { padding: 0px 5px; min-height: 110px; max-height: 310px; overflow: hidden;} 
     985  
     986.new-event-win.active select , .new-task-win.active select { 
    978987    border: 1px solid #CFCFCF; 
    979988    border-color: #CFCFCF; 
     
    981990    background-color: #FFF; 
    982991} 
    983 .new-event-win.active a:link, .new-event-win.active a:visited { 
     992.new-event-win.active a:link, .new-event-win.active a:visited  
     993.new-task-win.active a:link, .new-task-win.active a:visited 
     994{ 
     995 
    984996    color: #2E6E9E; 
    985997} 
    986998 
    987 .new-event-win.active  dd, .new-event-win.active  dl, .new-event-win.active  dt{ 
     999.new-event-win.active  dd, .new-event-win.active  dl, .new-event-win.active  dt,  
     1000.new-task-win.active  dd, .new-task-win.active  dl, .new-task-win.active  dt 
     1001{ 
    9881002        margin: 0; 
    9891003} 
     
    9991013{ color: #ff9933; }*/ 
    10001014 
    1001 .new-event-win.active #divAppbox{ 
     1015.new-event-win.active #divAppbox 
     1016.new-task-win.active #divAppbox 
     1017{ 
    10021018        overflow-x: auto; 
    10031019        overflow-y: scroll; 
     
    10051021 
    10061022.new-event-win.active select 
     1023.new-task-win.active select 
    10071024{ border-color: #CFCFCF; color: #555; padding-left:0px;} 
    10081025 
     
    10101027        padding: 0; 
    10111028        border: 0; 
    1012 } 
    1013  
    1014 .qtip.qtip-blue.qtip-active ul { 
    1015         padding: 0; 
    1016 } 
    1017  
    1018 .qtip.qtip-blue.qtip-active li { 
    1019         width: 160px; 
    1020         list-style: none; 
    10211029} 
    10221030 
     
    10581066} 
    10591067 
    1060 div.new-event-win.active div.button-files-upload{ 
    1061     margin: 15px 0 0 0; 
    1062 } 
    1063  
    1064 div.new-event-win.active div.files-list{ 
    1065     margin: 45px 0 0 0; 
     1068.new-task-win dl.block-add-attendee{ 
     1069        width: 350px; 
     1070} 
     1071.new-task-win.active .add-attendee-search.search-field{ 
     1072        width: 322px; 
     1073} 
     1074 
     1075.new-task-win .menu-container.footer-container{ 
     1076        width: 774px; 
    10661077} 
    10671078 
     
    11771188        border-top: 0px; 
    11781189}*/ 
    1179  
    11801190 
    11811191 
     
    14191429div.gray li a.button.delete{float: right;} 
    14201430 
     1431 
     1432.div-addtask #calendar_addtask_details1 .h1{ 
     1433  width: 100%; 
     1434} 
     1435 
     1436.div-addtask #calendar_addtask_details2 textarea { 
     1437  width: 670px; 
     1438} 
     1439 
     1440.div-addtask{ 
     1441  width: 760px; 
     1442} 
     1443 
     1444.calendar-addevent-details-txt-timezone, .calendar-addtask-details-txt-timezone{width: 227px;}  
     1445 
     1446.div-addtask #calendar_addtask_details1 .time-previsao { width: 40px; } 
     1447 
     1448.div-addtask #calendar_addtask_details1 .date-previsao{ width: 80px; } 
     1449 
     1450.div-addtask #calendar_addtask_details6{ width: 756px; } 
     1451.div-addtask #calendar_addtask_details1 .start-time{ width: 40px; } 
     1452.div-addtask #calendar_addtask_details1 .start-date{ width: 80px; } 
     1453.div-addtask #calendar_addtask_details1 .end-time{ width: 40px; } 
     1454.div-addtask #calendar_addtask_details1 .end-date{ width: 80px; } 
     1455.div-addtask #calendar_addtask_details1 .previsao-termino { margin: 0 0 0 50px; } 
     1456.div-addtask #calendar_addtask_details1 .subitem { margin: 5px; display: block;} 
     1457.div-addtask #calendar_addtask_details1 .subitem .span_done{ margin: 0 30px;} 
     1458.div-addtask #calendar_addtask_details1 .subitem .span_done img{position: relative; top:4px; width:16px; height:16px;} 
     1459.div-addtask #calendar_addtask_details1 .calendar_addevent_details_lnk_timezone { margin: 0 0 0 20px;} 
     1460.div-addtask #calendar_addtask_details1 .subitem .done { width: 45px;} 
     1461.div-addtask #calendar_addtask_details1 .ui-spinner-buttons{ top: -2px !important;} 
     1462.div-addtask #calendar_addtask_details1 .ui-spinner-buttons .ui-spinner-up{height: 7px !important;} 
     1463.div-addtask #calendar_addtask_details1 .ui-spinner-buttons .ui-spinner-down{height: 8px !important;} 
     1464 
     1465.div-addtask #calendar_addtask_details1 .subitem .span_done.noAction{background-image: url("../img/gray.png"); background-repeat: no-repeat; } 
     1466.div-addtask #calendar_addtask_details1 .subitem .span_done.inProcess{background-image: url("../img/yellow.png"); background-repeat: no-repeat;} 
     1467.div-addtask #calendar_addtask_details1 .subitem .span_done.finished{background-image: url("../img/green.png"); background-repeat: no-repeat;} 
     1468.div-addtask #calendar_addtask_details1 .subitem .span_done.canceled{background-image: url("../img/red.png"); background-repeat: no-repeat;} 
     1469.div-addtask #calendar_addtask_details1 .subitem .span_done label{position: relative; left: 28px;} 
     1470 
     1471.div-addtask fieldset#calendar_addtask_details5.tab-level2{ margin: 0 } 
     1472 
     1473.div-addtask  #calendar_addtask_details8 .parent {width: 715px; min-height: 208px; float: left;} 
     1474.div-addtask  #calendar_addtask_details8 .parent .child-top {width: 745px; height: 30px; background: #E8F4FD; border-left: 1px solid #CCC; border-right: 1px solid #CCC; border-bottom: 1px solid #CCC;} 
     1475.div-addtask  #calendar_addtask_details8 .parent .child-bottom {width: 745px; height: 208px; overflow: auto;  float: left; border-left: 1px solid #CCC; border-right: 1px solid #CCC; border-bottom: 1px solid #CCC;} 
     1476.div-addtask  #calendar_addtask_details8 .parent .child-bottom .child-bottom-each { height: 30px; } 
     1477.div-addtask  #calendar_addtask_details8 .parent .child-bottom .child-bottom-each:hover { background: #FFF2F2; cursor: pointer;} 
     1478 
     1479 
     1480.div-addtask  #calendar_addtask_details8 .parent .child-bottom .child-bottom-each .date-hour { width: 30%; float: left; height: 30px} 
     1481.div-addtask  #calendar_addtask_details8 .parent .child-bottom .child-bottom-each .date-hour span { margin: 8px; float: left; } 
     1482.div-addtask  #calendar_addtask_details8 .parent .child-bottom .child-bottom-each .organization{ width: 69%; float: left;  height: 30px; border-left: 1px solid #CCC; } 
     1483.div-addtask  #calendar_addtask_details8 .parent .child-bottom .child-bottom-each .organization span{ margin: 8px; float: left; } 
     1484 
     1485 
     1486.div-addtask  #calendar_addtask_details8 .parent .child-top .date-hour { width: 29%; float: left; background: #E8F4FD; height: 30px; } 
     1487.div-addtask  #calendar_addtask_details8 .parent .child-top .date-hour span{ margin: 8px; float: left; font-weight: bold; color: #2E6E9E; } 
     1488.div-addtask  #calendar_addtask_details8 .parent .child-top .organization { width: 70%; float: left; background: #E8F4FD; height: 30px; border-left: 1px solid #CCC; font-weight: bold; color: #2E6E9E; } 
     1489.div-addtask  #calendar_addtask_details8 .parent .child-top .organization span{margin: 8px; float: left; } 
  • sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/task_add.ejs

    r6951 r6965  
    5454                </p> 
    5555                <div class="subitem"> 
    56                                 % Conclusão: <input type="text" name="percentage" class="done" value="<%= data.task.percentage %>"></input>  
    57                                 <span style="margin:0 0 0 5px;">Status:<span>  
     56                                % Conclusão: <input type="text" name="percentage" class="done" value="<%= data.task.percentage %>"> 
     57                                <span style="margin:0 0 0 5px;">Status:</span>  
    5858                <select name="taskStatus" style="margin: 0 0 0 5px;"> 
    5959                    <option class="taskStatus-noAction"<%= (data.task.taskStatus == '1') ? 'selected="selected"' : '' %> value="1">Sem ações</option> 
     
    6262                                        <option class="taskStatus-canceled"<%= (data.task.taskStatus == '4') ? 'selected="selected"' : '' %> value="4">Cancelada</option> 
    6363                                </select> 
    64                                 <span style="margin:0 0 0 5px;">Prioridade:<span>  
     64                                <span style="margin:0 0 0 5px;">Prioridade:</span>  
    6565                                <select name="priority"> 
    6666                                        <option <%= (data.task.priority == '1') ? 'selected="selected"' : '' %> value="1">Alta</option> 
     
    9191                                <select  name="group" > 
    9292                                        <%  
    93                                           for (var i=0; i< data.task.groups.length; i++) { 
     93                                          if(data.task.groups){ 
     94                                            for (var i=0; i< data.task.groups.length; i++) { 
    9495                                        %> 
    9596                                              <option value="<%= data.task.groups[i].id %>" <%= data.task.groups[i].id == data.task.group ? 'selected="selected"':'' %>> 
    9697                                              <%= data.task.groups[i].name %> 
    9798                                              </option> 
    98                                         <% } %> 
     99                                        <%  } 
     100                                          } %> 
    99101                                </select> 
    100102                </p> 
     
    172174 
    173175                        <div class="child-bottom"> 
    174                             <% for(var i=0; i< data.task.historic.length; i++){ %> 
     176                         
     177                 
     178                            <%  
     179                                if(data.task.historic){ 
     180                                        for(var i=0; i< data.task.historic.length; i++){ %> 
    175181                                <div class="child-bottom-each"> 
    176182                                    <div class="date-hour"><span><%= data.task.historic[i].date %></span></div> 
    177183                                    <div class="organization"><span><%= data.task.historic[i].description %></span></div> 
    178184                                </div> 
    179                             <% } %> 
     185                            <%  }        
     186                                }                                
     187                                %> 
    180188                        </div> 
    181189 
Note: See TracChangeset for help on using the changeset viewer.