Changeset 5505 for WAeUP_SRP/trunk/Widgets.py
- Timestamp:
- 28 Aug 2010, 06:35:39 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
WAeUP_SRP/trunk/Widgets.py
r5186 r5505 9 9 ##from Products.CPSSchemas.Widget import CPSWidgetType 10 10 from Products.CMFCore.utils import getToolByName 11 from Products.CPSSchemas.BasicWidgets import CPSBooleanWidget, CPSWidget, CPSStringWidget, CPSEmailWidget,CPSImageWidget 11 from Products.CPSSchemas.BasicWidgets import CPSBooleanWidget, CPSWidget, CPSStringWidget, CPSEmailWidget,CPSImageWidget,CPSIntWidget 12 12 from Products.CPSSchemas.BasicWidgets import CPSFileWidget, CPSPasswordWidget 13 13 from Products.CPSSchemas.BasicWidgets import renderHtmlTag,CPSSelectWidget, CPSStringWidget … … 2553 2553 ###) 2554 2554 2555 class PhoneWidget(CPSIntWidget): ###( 2556 """ Phone Widget""" 2557 meta_type = "Phone Widget" 2558 2559 def validate(self, datastructure, **kw): 2560 """Validate datastructure and update datamodel.""" 2561 2562 valid = CPSIntWidget.validate(self, datastructure, **kw) 2563 if not valid: 2564 return 0 2565 else: 2566 widget_id = self.getWidgetId() 2567 value = datastructure[widget_id] 2568 #import pdb;pdb.set_trace() 2569 if value == '234': 2570 value = '' 2571 datamodel = datastructure.getDataModel() 2572 datamodel[self.fields[0]] = value 2573 elif value.startswith('2340'): 2574 err = 'Wrong Nigerian phone format' 2575 datastructure.setError(widget_id, err) 2576 return 0 2577 return 1 2578 2579 def render(self, mode, datastructure, **kw): 2580 """Render in mode from datastructure.""" 2581 value = datastructure[self.getWidgetId()] 2582 #import pdb;pdb.set_trace() 2583 if mode == 'view': 2584 if value == '': 2585 return '' 2586 else: 2587 return '+' + escape(value) 2588 elif mode == 'edit': 2589 if value == '': 2590 value = 234 2591 tag = renderHtmlTag('input', 2592 type='text', 2593 name=self.getHtmlWidgetId(), 2594 value=value) 2595 return '<strong>+</strong>' + tag 2596 raise RuntimeError('unknown mode %s' % mode) 2597 2598 2599 InitializeClass(PhoneWidget) 2600 2601 widgetRegistry.register(PhoneWidget) 2602 2603 2604 2605 2555 2606 ########### 2556 2607
Note: See TracChangeset for help on using the changeset viewer.