Changeset 2016


Ignore:
Timestamp:
09/13/07 18:46:39 (12 years ago)
Author:
jukka
Message:

Exercise goes on.

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/FieldsWidgets.py

    r2014 r2016  
    696696 
    697697            #try to set references 
    698             if type(chapter)==str: 
     698            if type(chapter)==str or (type(chapter)==tuple and chapter[1]=='piece'): 
    699699                if chapter.isalnum() and len(chapter)==32 and len(chapter)==len(chapter.strip()): # ok, it's a UID! 
    700700                    uids.append(chapter) # collect list of good uids that should be there                  
     
    792792        ObjectField.set(self, instance, value) 
    793793        return insert_point  
     794 
     795    def add_new_question(self,instance,question_type): 
     796        """ adds new field/chapter """ 
     797        value=ChapterField.get(self,instance) 
     798        value_end=[] 
     799        value.append(('',question_type)) 
     800        value=value+value_end 
     801        ObjectField.set(self, instance, value) 
     802        return len(value)-1 
    794803         
    795804    def isUid(self, chapter): 
     
    801810            return False 
    802811        else: 
    803 #            try: 
    804                 chapter=chapter.UID() 
    805                 return chapter 
    806 #            except: 
    807                 return False 
     812            chapter=chapter.UID() 
     813            return chapter 
    808814                 
    809815    def isAudioUID(self, chapter): 
  • trunk/skins/lemill/lemill_content_view.pt

    r2000 r2016  
    1414        <tr> 
    1515            <td class="coverimagecell" tal:repeat="sample samples"> 
    16                 <a href="#" tal:attributes="href string:${obj/absolute_url}/view" tal:define="obj python:context.lemill_tool.getObjectByUID(sample['UID']); piccy obj/getCoverImage"> 
     16                <a href="#" tal:attributes="href string:${obj/absolute_url}/view" tal:define="obj python:context.lemill_tool.getObjectByUID(sample['UID']); piccy obj/getCoverImage | nothing"> 
    1717                    <img tal:attributes="src piccy/absolute_url | nothing; onclick string:document.location='${obj/absolute_url}'" src="images/default_learningresource.png" style="cursor: pointer;" /></a> 
    1818            </td> 
  • trunk/skins/lemill/script_chapterController.cpy

    r2014 r2016  
    5353save_message=u'' 
    5454add_message=u'' 
    55 additional_flags='' 
    5655 
    5756if context.portal_type=='MultimediaMaterial': 
     
    118117    insert_point = int(REQUEST.get('insert_point',-1)) 
    119118    if 'add_textareas' in button: 
    120         func=context.getField('bodyText').add_new_chapter       
     119        edit_nr=context.getField('bodyText').add_new_chapter(context, insert_point)      
    121120        add_message=_(u'Added a new chapter') 
    122121    elif 'add_mediapieces' in button: 
    123         func=context.getField('bodyText').add_new_mediapiece       
     122        edit_nr=context.getField('bodyText').add_new_mediapiece(context, insert_point)      
    124123        add_message=_(u'Added a new media piece') 
    125124    elif 'add_slides' in button: 
    126         func=context.getField('bodyText').add_new_slide       
     125        edit_nr=context.getField('bodyText').add_new_slide(context, insert_point)      
    127126        add_message=_(u'Added a new slide') 
    128127    elif 'add_scene' in button: 
    129         func=context.getField('bodyText').add_new_scene       
     128        edit_nr=context.getField('bodyText').add_new_scene(context, insert_point)      
    130129        add_message=_(u'Added a new scene') 
    131130    elif 'add_open_ended' in button: 
    132         func=context.getField('bodyText').add_new_chapter 
    133         additional_flags='&new_type=open_ended'       
     131        edit_nr=context.getField('bodyText').add_new_question(context,'open_ended') 
    134132        add_message=_(u'Added a new open ended question') 
    135133    elif 'add_fill_in_the_blanks' in button: 
    136         func=context.getField('bodyText').add_new_chapter       
    137         additional_flags='&new_type=fill_in_the_blanks'       
     134        edit_nr=context.getField('bodyText').add_new_question(context,'fill_in_the_blanks') 
    138135        add_message=_(u'Added a new fill-in-the-blanks exercise') 
    139136    elif 'add_multiple_choice' in button: 
    140         func=context.getField('bodyText').add_new_chapter      
    141         additional_flags='&new_type=multiple_choices'       
    142         add_message=_(u'Added a new multiple choice exercise') 
     137        edit_nr=context.getField('bodyText').add_new_question(context,'multiple_choices') 
     138        add_message=_(u'Added a new fill-in-the-blanks exercise') 
    143139 
    144     else: 
    145         func = do_nothing 
    146         add_message=u'' 
    147     edit_nr=func(context, insert_point) 
    148140    if del_message: 
    149141        context.plone_utils.addPortalMessage(del_message) 
     
    181173# 9) set the next_action      
    182174 
    183 kwargs['next_action']='redirect_to:string:%s?edit=%s&b=0&#%s%s' % (edit_page,edit_nr,edit_nr,additional_flags) 
     175kwargs['next_action']='redirect_to:string:%s?edit=%s&b=0&#%s' % (edit_page,edit_nr,edit_nr) 
    184176return state.set(**kwargs ) 
  • trunk/skins/lemill/widget_exercise.pt

    r2014 r2016  
    1919             
    2020                <div tal:condition="UID" tal:omit-tag=""> 
    21                     <metal:display_piece use-macro="here/widget_chapter/macros/display_piece"> 
     21                    <metal:display_piece use-macro="here/widget_chapter/macros/display_piece" /> 
    2222                </div> 
    2323            </tal:defs> 
     
    3434                  chapter_count python:len(value); 
    3535                  text_edit python:True; 
    36                   engineer python:request.get('engineer') 
    3736                  new_type request.get('new_type',''); 
    3837                  "> 
     
    4746        <input type="hidden" name="chapter_uploaded" id="chapter_uploaded" value="-1" 
    4847         tal:attributes="name python:'%s_uploaded' % fieldName;id python:'%s_uploaded' % fieldName"/> 
    49         <input tal:condition="not:engineer" type="hidden" name="insert_point" id="insert_point" value="-1" /> 
    50  
    51        <tal:chapters repeat="chapter value"> 
    52           <tal:definitions define="index repeat/chapter/index; 
    53           start repeat/chapter/start; 
     48        <input type="hidden" name="insert_point" id="insert_point" value="-1" /> 
     49 
     50       <tal:chapters repeat="chaptertuple value"> 
     51          <tal:definitions define="index repeat/chaptertuple/index; 
     52          start repeat/chaptertuple/start; 
     53          chapter python:chapter[0]; 
     54          type python:chapter[1]; 
    5455          index python:int(index); 
    55           type python:request.get('%s_%s_type' % (fieldName,index), new_type); 
    5656          UID python:field.isUid(chapter); 
    5757          cleaned_chapter python:field.getChapter(context, index); 
     
    119119            </legend> 
    120120 
    121            <tal:text_chapter tal:condition="python: type=='text_chapter' or start" tal:replace="structure cleaned_chapter"/> 
     121           <tal:text_chapter tal:condition="python: type in ['text_chapter', 'guidelines']" tal:replace="structure cleaned_chapter"/> 
    122122            
    123             <tal:piecechapter condition="UID"> 
     123            <tal:piecechapter condition="python:type=='piece'"> 
    124124              <metal:block use-macro="here/widget_chapter/macros/edit_mode_view_piece" /> 
    125125            </tal:piecechapter> 
     
    299299 
    300300 
    301         <tal:engineer condition="engineer"> 
    302         Insertion point:  
    303            <input class="context" 
    304                type="text" 
    305                size="2" 
    306                name="insert_point" 
    307                value="-1"/> 
    308         </tal:engineer> 
    309301       </tal:buttons> 
    310302 
Note: See TracChangeset for help on using the changeset viewer.