def save_group(): settings = get_settings_document() group_dict = default_group_dict() if request.headers['Content-Type'] == 'application/json': for k in request.json.keys(): if doc_attribute_can_be_set(k): group_dict[k] = request.json[k] save_document(group_dict) settings['current_group_id'] = group_dict['_id'] save_document(settings) return Response(json.dumps(group_dict), status=200, mimetype='application/json')
def save_group(): ''' Creates a new group record, saves it as the new current group in the settings document Won't let you specify _id, _rev or type Automatically sets settings.current_group_id to the groups id as well ''' return_value = generic_save_view(args_dict=default_group_dict(), document_type='group') if return_value.status_code == 200: try: group_id = json.loads(return_value.data)['_id'] settings = get_settings_document() settings['current_group_id'] = group_id save_generic(settings, 'settings') return return_value except Exception as e: return Response(json.dumps('error saving settings: ' + e.message), status=e.status_code, mimetype='application/json') else: return return_value
def test_default_group_dict_has_expected_fields(self): group_doc = adms.default_group_dict() # TODO assert the values too expected_fields = ['_id', 'merge_type', 'scale_type', 'retake_picam_pics_when_dark', 'email_recipients', 'send_email_contents', 'colorize_range_low', 'colorize_range_high', 'picam_brightness_threshold', 'capture_type', 'image_sources_to_delete', 'use_gallery', 'image_sources_for_gallery', 'button_active', 'type'] for field in expected_fields: assert field in group_doc assert len(group_doc.keys()) == len(expected_fields)