示例#1
0
 def dehydrate_versions(bundle):
     app = bundle.obj
     if app.copy_of:
         return []
     results = get_all_built_app_results(app.domain, app.get_id)
     return [{
         'id': result['value']['_id'],
         'built_on': result['value']['built_on'],
         'build_comment': result['value']['build_comment'],
         'is_released': result['value']['is_released'],
         'version': result['value']['version'],
     } for result in results]
示例#2
0
def app_exchange(request, domain):
    template = "app_manager/app_exchange.html"
    records = []
    for obj in ExchangeApplication.objects.all():
        results = get_all_built_app_results(obj.domain, app_id=obj.app_id)
        results = [r['value'] for r in results if r['value']['is_released']]
        if not results:
            continue
        results.reverse()
        first = results[0]

        def _version_text(result):
            if result['_id'] == first['_id']:
                return _("Latest Version")
            built_on = iso_string_to_datetime(
                result['built_on']).strftime("%B %d, %Y")
            return _("{} version").format(built_on)

        records.append({
            "id":
            first['_id'],
            "name":
            first['name'],
            "help_link":
            obj.help_link,
            "changelog_link":
            obj.changelog_link,
            "last_released":
            iso_string_to_datetime(first['built_on']).date(),
            "versions": [{
                "id": r['_id'],
                "text": _version_text(r),
            } for r in results],
        })

    context = {
        "domain": domain,
        "records": records,
    }

    if request.method == "POST":
        clear_app_cache(request, domain)
        from_app_id = request.POST.get('from_app_id')
        app_copy = import_app_util(from_app_id, domain, {
            'created_from_template': from_app_id,
        })
        return back_to_main(request, domain, app_id=app_copy._id)

    return render(request, template, context)
示例#3
0
 def dehydrate_versions(bundle):
     app = bundle.obj
     if app.copy_of:
         return []
     results = get_all_built_app_results(app.domain, app.get_id)
     return [
         {
             'id': result['value']['_id'],
             'built_on': result['value']['built_on'],
             'build_comment': result['value']['build_comment'],
             'is_released': result['value']['is_released'],
             'version': result['value']['version'],
         }
         for result in results
     ]