none
Cambiar acción por defecto en calendario al pinchar en un evento RRS feed

  • Pregunta

  • Hola a todos,

    Necesitaría cambiar la acción por defecto al pinchar en un evento existente de un calendario, de forma que en lugar de aparecer en modo VIEW, se mostrara el detalle en modo EDIT.

    El calendario en cuestión se crea y rellena de eventos programáticamente y la idea sería que una vez creado, el usuario pudiera modificar los eventos añadidos por defecto al crearse el calendario, con solo pinchar en ellos.

    He leído algo sobre modificar el fichero schema.xml que hay en 15\TEMPLATE\FEATURES\EventsList\Events cambiando la sección:

        <Forms>
          <Form Type="DisplayForm" Url="DispForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
          <Form Type="EditForm" Url="EditForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
          <Form Type="NewForm" Url="NewForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
        </Forms>

    Pero si cambio la URL del formulario "DisplayForm por EditForm.aspx, parece que al crear el calendario, únicamente me crea el formulario EditForm.aspx pero al mostrar el elemento me lo sigue mostrando el modo View.

    Alguien tiene idea de como poder hacer lo que necesito?.

    Gracias y un saludo. 


    Saludos.

    miércoles, 5 de febrero de 2014 13:18

Todas las respuestas

  • Hola Hubrich,

    Lo que has realizado es modificar el comportamiento por defecto de las vistas de SharePoint. Como consejo en lugar de modificar el comportamiento, me dedicaría a modificar en la pantalla donde tu quieres realizar las modificaciones.

    Supongo que estas en una vista del calendario por lo que mejor modificar este punto, esta vista la puedes modificar bien tocando el XSL que hace que se renderize de una forma bien mediante JavaScript. Aqui tienes un ejemplo de como customizar esta vista:

     http://mohamedramadanahmed.wordpress.com/2012/01/10/customize-sharepoint-calendar-view/

    http://www.vermontspug.com/Blog/Lists/Posts/Post.aspx?ID=12

    https://www.nothingbutsharepoint.com/sites/eusp/Pages/PrettyCal-A-Better-View-of-a-SharePoint-Calendar.aspx 

    Saludos,


    MCPD SharePoint 2010 Mi blog: http://blogs.encamina.com/desarrollandosobresharepoint Twitter: @AdrianDiaz81

    jueves, 6 de febrero de 2014 6:40
  • Hola Adrian, gracias por contestar.

    No he terminado de entender muy bien lo que comentas. Verás, el problema que yo tengo es que la creación de los calendarios se realiza en tiempo de ejecución, por lo que yo en tiempo de diseño no tengo acceso al "calendar.aspx" de los calendarios.

    Por otro lado, cuando hablas del XSL .. no tengo claro cual es ese XSL. ¿Es una plantilla a partir de la cual se generan los "calendar.aspx"?. En ese caso .. ¿donde se encuentra esa plantilla?.

    Gracias y un saludo.


    Saludos.

    jueves, 6 de febrero de 2014 9:29
  • Hola Hubirch,

    A ver si me explico un poco mejor :-), lo que te comento es que el calendar.aspx es una vista de una determinada lista no? Pues lo que yo me estaba refiriendo es que esa vista se puede modificar de dos formas bien editandola mediante SharePoint Designer bien modificando el XSL que es la plantilla que se utiliza para mostrar el formulario . 

    Esto es lo que me refería en los links que te indicaba, si tienes más duda comentame y lo miramos.

    Un abrazo


    MCPD SharePoint 2010 Mi blog: http://blogs.encamina.com/desarrollandosobresharepoint Twitter: @AdrianDiaz81

    jueves, 6 de febrero de 2014 10:16
  • Hola Adrian,

    Pues perdona .. pero sigo perdido. Por lo que dices, el xsl se utiliza para renderizar el "calendar.aspx" .. pero ¿cual es ese XSL y donde esta?. Por otro lado, he estado mirando las URLs que me has pasado pero no he sido capaz de ver como me puede servir lo que cuentan.

    Básicamente lo que necesito es cambiar el comportamiento por defecto al abrir un evento de un calendario para que en lugar de abrirlo en modo View lo abra en modo Edit.

    Gracias y un saludo.


    Saludos.

    jueves, 6 de febrero de 2014 13:16
  • Buenas Hubrich,


    Empiezo por preguntarte el tema de que es lo que estas haciendo? Supongo que lo que estas haciendo es que tienes una lista de tipo Calendario no? En este caso la vista que utilizas para visualizar la lista se puede modificar y hay es donde entra el renderizado del XSL.Para ver lo que te estoy comentando abre esa lista utilizando SharePoint Designer.

    Si por el contrario lo que tienes es un desarrollo en el que tu te construyes el calendario hay ya depende más de tu desarrollo.

    Ya comentas si te has aclarado 

    Saludos,


    MCPD SharePoint 2010 Mi blog: http://blogs.encamina.com/desarrollandosobresharepoint Twitter: @AdrianDiaz81

    jueves, 6 de febrero de 2014 14:54
  • Es el segundo caso. Tengo un desarrollo en donde mediante un formulario le pido al usuario datos como el año, las horas de trabajo en las jordadas de verano e invierno para cada día de la semana, las fechas de inicio y fin de la jornada de verano, el número de días de vacaciones para ese año .. etc.

    Con la información que mete el usuario, mediante código inserto un registro en una lista personalizada con esos campos .. y además me creo otra lista de tipo calendario para el año introducido creando un evento para cada uno de los 365 días con las horas de esa jornada laboral.

    Resumiendo .. tengo una lista personalizada "Calendarios" con los campos que mencionaba arriba y para cada elemento que el usuario cree en esa lista, yo programaticamente creo una lista de eventos (un calendario) cuyo nombre es el año, para que los usuarios puedan ver visualmente los tipos de jornadas de cada día del año.

    El problema que tengo es que quiero dar la opción a los usuarios de poder introducir los días festivos en esta lista de eventos creada programáticamente y mostrada con la vista "calendar.aspx".

    Es un problema porque en mi master he ocultado la cinta de opciones y en el listado también he ocultado las opciones de edición .. por eso quiero que cuando un usuario pinche en un evento, el formulario que aparezca esté en modo "Edit" en lugar de en modo "View".

    Muchas gracias Adrián.


    Saludos.

    jueves, 6 de febrero de 2014 15:37