Ignore:
Timestamp:
7 Aug 2013, 06:46:25 (11 years ago)
Author:
Henrik Bettermann
Message:

Backup work in progress.

Location:
main/waeup.kofa/trunk/src/waeup/kofa/students
Files:
1 added
2 edited
1 moved

Legend:

Unmodified
Added
Removed
  • main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py

    r10458 r10459  
    10641064        return
    10651065
    1066 class StudentRequestTranscriptPage(KofaPage):
     1066class StudentTranscriptRequestPage(KofaPage):
    10671067    """ Page to transcript by student
    10681068    """
     
    10701070    grok.name('request_transcript')
    10711071    grok.require('waeup.handleStudent')
    1072     grok.template('requesttranscript')
     1072    grok.template('transcriptrequest')
    10731073    label = _('Request transcript')
    10741074    ac_prefix = 'TSC'
     
    10791079
    10801080    def update(self, SUBMIT=None):
     1081        super(StudentTranscriptRequestPage, self).update()
     1082        tabs.need()
     1083        self.tab1 = self.tab2 = ''
     1084        qs = self.request.get('QUERY_STRING', '')
     1085        if not qs:
     1086            qs = 'tab1'
     1087        setattr(self, qs, 'active')
    10811088        if not self.context.state == GRADUATED:
    10821089            self.flash(_("Wrong state"))
     
    11341141        return
    11351142
    1136 class StudentRequestTranscriptManageFormPage(KofaEditFormPage):
    1137     """ Page to edit personal data by student
     1143class StudentTranscriptRequestProcessFormPage(KofaEditFormPage):
     1144    """ Page to process transcript requests
    11381145    """
    11391146    grok.context(IStudent)
    1140     grok.name('manage_transcript_request')
     1147    grok.name('process_transcript_request')
    11411148    grok.require('waeup.manageStudent')
     1149    grok.template('transcriptprocess')
    11421150    form_fields = grok.AutoFields(IStudentTranscript)
    1143     label = _('Manage transcript request')
    1144     pnav = 4
    1145 
    1146     def update(self):
    1147         super(StudentRequestTranscriptManageFormPage, self).update()
     1151    label = _('Process transcript request')
     1152    buttonname = _('Save comment and mark as processed')
     1153    pnav = 4
     1154
     1155    def update(self, SUBMIT=None):
     1156        super(StudentTranscriptRequestProcessFormPage, self).update()
     1157        tabs.need()
     1158        self.tab1 = self.tab2 = ''
     1159        qs = self.request.get('QUERY_STRING', '')
     1160        if not qs:
     1161            qs = 'tab1'
     1162        setattr(self, qs, 'active')
    11481163        if self.context.state != TRANSCRIPT:
    1149             self.flash(_("Wrong state"))
    1150             self.redirect(self.url(self.context))
    1151         return
    1152 
    1153     #@action(_('Save'), style='primary')
    1154     #def save(self, **data):
    1155     #    msave(self, **data)
    1156     #    return
    1157 
    1158     @action(_('Save comment and mark as processed'), style='primary')
    1159     def process(self, **data):
    1160         if self.context.state == TRANSCRIPT:
    1161             IWorkflowInfo(self.context).fireTransition('process_transcript')
    1162             message = _('Transcript request processed.')
    1163             self.flash(message)
    1164         else:
    11651164            self.flash(_('Student is in wrong state.'))
    11661165            self.redirect(self.url(self.context))
    11671166            return
    1168         self.applyData(self.context, **data)
    1169         comment = data['transcript_comment']
     1167        if self.context.transcript_comment is not None:
     1168            self.correspondence = self.context.transcript_comment.replace(
     1169                '\n', '<br>')
     1170        else:
     1171            self.correspondence = ''
     1172        if SUBMIT is None:
     1173            return
     1174        IWorkflowInfo(self.context).fireTransition('process_transcript')
     1175        self.flash(_('Transcript request processed.'))
     1176        comment = self.request.form.get('comment', '').replace('\r', '')
     1177        tz = getattr(queryUtility(IKofaUtils), 'tzinfo', pytz.utc)
     1178        today = now(tz).strftime('%d/%m/%Y %H:%M:%S %Z')
     1179        old_transcript_comment = self.context.transcript_comment
     1180        if old_transcript_comment == None:
     1181            old_transcript_comment = ''
     1182        self.context.transcript_comment = '''On %s %s wrote:
     1183
     1184%s
     1185
     1186%s''' % (today, self.request.principal.id, comment,
     1187         old_transcript_comment)
     1188        self.context.writeLogMessage(
     1189            self, 'comment: %s' % comment.replace('\n', '<br>'))
     1190        subject = _('Transcript processed')
    11701191        if comment:
    11711192            self.context.writeLogMessage(
    11721193                self, 'comment: %s' %
    11731194                comment.replace('\r\n', '<br>'))
    1174             args = {'subject':message, 'body':comment}
    1175         else:
    1176             args = {'subject':message,}
     1195            args = {'subject':subject, 'body':comment}
     1196        else:
     1197            args = {'subject':subject,}
    11771198        self.redirect(self.url(self.context) +
    11781199            '/contactstudent?%s' % urlencode(args))
  • main/waeup.kofa/trunk/src/waeup/kofa/students/browser_templates/transcriptrequest.pt

    r10458 r10459  
    11<form method="POST" i18n:domain="waeup.kofa">
    2   <table class="form-table" tal:condition="view/with_ac">
    3     <tbody>
    4       <tr>
    5         <td i18n:translate="">
    6         Comment:
    7         </td>
    8         <td>
    9         <textarea cols="60" name="comment" rows="6"></textarea>
    10         </td>
    11       </tr>
    12       <tr>
    13         <td i18n:translate="">
    14         Dispatch Address:
    15         </td>
    16         <td>
    17         <textarea cols="60" name="address" rows="6"></textarea>
    18         </td>
    19       </tr>
    20       <tr>
    21         <td i18n:translate="">
    22         Activation Code:
    23         </td>
    24         <td>
    25         <span tal:replace="view/ac_prefix">PIN Prefix</span> -
    26         <input name="ac_series" type="text" class="span1" maxlength="3"
    27                value="" tal:attributes="value view/ac_series"/> -
    28         <input name="ac_number" type="text" class="span3" maxlength="10"
    29                value="" tal:attributes="value view/ac_number" />
    30         <font color="red"><span tal:replace="view/notice">Notice</span>
    31         </font>
    32         </td>
    33       </tr>
    34       <tr>
    35         <td>&nbsp;</td>
    36         <td i18n:translate="">
    37         The activation code can be found on the payment slip.
    38         </td>
    39       </tr>
    40       <tr>
    41         <td colspan="2">
    42           <input type="submit" name="SUBMIT" class="btn primary"
    43                  tal:attributes="value view/buttonname" />
    44         </td>
    45       </tr>
    46     </tbody>
    47   </table>
    482
    49   <span tal:omit-tag="" tal:condition="not: view/with_ac">
    50     <input type="submit" name="SUBMIT" class="btn primary"
    51            tal:attributes="value view/buttonname" />
    52   </span>
     3  <ul class="tabs" data-tabs="tabs">
     4    <li tal:attributes="class view/tab1"><a href="#tab-1">
     5    <span i18n:translate="">Send new request</span></a></li>
     6    <li tal:attributes="class view/tab2"><a href="#tab-2">
     7    <span i18n:translate="">View correspondence</span></a></li>
     8  </ul>
    539
    54   <h1 i18n:translate="">Correspondence</h1>
    55   <p tal:content="structure view/correspondence"></p>
     10  <div class="tab-content">
     11    <div id="tab-1" tal:attributes="class view/tab1">
     12
     13      <table class="form-table" tal:condition="view/with_ac">
     14        <tbody>
     15          <tr>
     16            <td i18n:translate="">
     17            Comment:
     18            </td>
     19            <td>
     20            <textarea cols="60" name="comment" rows="6"></textarea>
     21            </td>
     22          </tr>
     23          <tr>
     24            <td i18n:translate="">
     25            Dispatch Address:
     26            </td>
     27            <td>
     28            <textarea cols="60" name="address" rows="6"></textarea>
     29            </td>
     30          </tr>
     31          <tr>
     32            <td i18n:translate="">
     33            Activation Code:
     34            </td>
     35            <td>
     36            <span tal:replace="view/ac_prefix">PIN Prefix</span> -
     37            <input name="ac_series" type="text" class="span1" maxlength="3"
     38                   value="" tal:attributes="value view/ac_series"/> -
     39            <input name="ac_number" type="text" class="span3" maxlength="10"
     40                   value="" tal:attributes="value view/ac_number" />
     41            <font color="red"><span tal:replace="view/notice">Notice</span>
     42            </font>
     43            </td>
     44          </tr>
     45          <tr>
     46            <td>&nbsp;</td>
     47            <td i18n:translate="">
     48            The activation code can be found on the payment slip.
     49            </td>
     50          </tr>
     51          <tr>
     52            <td colspan="2">
     53              <input type="submit" name="SUBMIT" class="btn primary"
     54                     tal:attributes="value view/buttonname" />
     55            </td>
     56          </tr>
     57        </tbody>
     58      </table>
     59      <span tal:omit-tag="" tal:condition="not: view/with_ac">
     60        <input type="submit" name="SUBMIT" class="btn primary"
     61               tal:attributes="value view/buttonname" />
     62      </span>
     63    </div>
     64
     65    <div id="tab-2"  tal:attributes="class view/tab2">
     66      <p tal:content="structure view/correspondence"></p>
     67    </div>
     68  </div>
    5669
    5770</form>
  • main/waeup.kofa/trunk/src/waeup/kofa/students/viewlets.py

    r10458 r10459  
    692692        return self.view.url(self.view.context, self.target)
    693693
    694 class ManageTranscriptRequestActionButton(ManageActionButton):
     694class ProcessTranscriptRequestActionButton(ManageActionButton):
    695695    grok.order(9)
    696696    grok.context(IStudent)
    697697    grok.view(StudentBaseDisplayFormPage)
    698     grok.require('waeup.manageStudent')
     698    grok.require('waeup.viewTranscript')
    699699    text = _('Manage transcript request')
    700     target = 'manage_transcript_request'
     700    target = 'process_transcript_request'
    701701    icon = 'actionicon_transcript.png'
    702702
Note: See TracChangeset for help on using the changeset viewer.