I'm not even ready to ask for this, i'm still trying to figure out how the reworked Panels 3 and the completely rewritten Organic Groups should interact, and if a module is necessary— and hoping others have a better sense than i.

Comments

entrigan’s picture

A drupal 7 port would be great. I think og_panels is mostly panels code, so this may not actually be that much work to port to OG7.

dawehner’s picture

#1124156: Port OG Panels 7.x Linking the port issue

In general it would be cool if this module would be splitted up in two parts:

  • General panels integration: content types, access plugins etc.
  • Panels configuration per group.
greggles’s picture

Title: What would a Drupal 7 port of this module look like? » Drupal 7 port of og_panels

One of these is a duplicate of the other. I guess this one is older so let's make it the issue.

greggles’s picture

Issue tags: +gdolove

And tagging for g.d.o upgrade.

greggles’s picture

In that other issue, pontusnilson said:

I guess Panelizer could solve this as well.

I don't think panelizer out of the box lets OG admins customize their homepages the way og_panels is meant to do. BUT, Panelizer + some custom access code might work.

merlinofchaos’s picture

I think Panelizer can do the home page just fine -- the permissions are tied to edit access on the node as well as the elevated permissions based upon bundle (node type).

What it can't do are the extra tabs that og panels adds. Those are awesome, though, and I don't think those need to be tied to og at all, so Panelizer would happily adopt that functionality if we could do it properly. There are quite a few different approaches to doing that. For example, if you transition it so that each tab is actually a node of a particular bundle, which is a member of a group, then all that's needed is a piece to actually manage the tab itself and to be sure to alter the tab in properly at the right menu paths.

geoffreyr’s picture

Has anyone been able to revisit this issue?

greggles’s picture

I guess no and I think it might be somewhat moot
* One of the main uses of og_panels was on groups.drupal.org which will soon be moving to commons
* I think Panelizer replaces a lot of this functionality

technikh’s picture

I am using panels in place editor and hiding it for groups that the user doesn't have administer access to
og_user_access($group_id,'administer group')

  function add_meta() {
    ctools_include('display-edit', 'panels');
    ctools_include('content');

    if (empty($this->display->cache_key)) {
      $this->cache = panels_edit_cache_get_default($this->display);
    }
    // @todo we may need an else to load the cache, but I am not sure we
    // actually need to load it if we already have our cache key, and doing
    // so is a waste of resources.

    ctools_include('cleanstring');
    $this->clean_key = ctools_cleanstring($this->display->cache_key);
    $button = array(
      '#type' => 'link',
      '#title' => t('Customize this page'),
      '#href' => $this->get_url('save_form'),
      '#id' => 'panels-ipe-customize-page',
      '#attributes' => array(
        'class' => array('panels-ipe-startedit', 'panels-ipe-pseudobutton'),
      ),
      '#ajax' => array(
        'progress' => 'throbber',
        'ipe_cache_key' => $this->clean_key,
      ),
      '#prefix' => '<div class="panels-ipe-pseudobutton-container">',
      '#suffix' => '</div>',
    );

    panels_ipe_toolbar_add_button($this->clean_key, 'panels-ipe-startedit', $button);

    // @todo this actually should be an IPE setting instead.
    if (user_access('change layouts in place editing')) {
      $button = array(
        '#type' => 'link',
        '#title' => t('Change layout'),
        '#href' => $this->get_url('change_layout'),
        '#attributes' => array(
          'class' => array('panels-ipe-change-layout', 'panels-ipe-pseudobutton', 'ctools-modal-layout'),
        ),
        '#ajax' => array(
          'progress' => 'throbber',
          'ipe_cache_key' => $this->clean_key,
        ),

      '#prefix' => '<div class="panels-ipe-pseudobutton-container">',
      '#suffix' => '</div>',
      );

      panels_ipe_toolbar_add_button($this->clean_key, 'panels-ipe-change-layout', $button);
    }
	$context = og_context();
	$group_id = isset($context->gid) ? $context->gid : 0;

    // @todo this actually should be an IPE setting instead.
    if (og_user_access($group_id,'administer group')) {
		ctools_include('ajax');
		ctools_include('modal');
		ctools_modal_add_js();

		ctools_add_css('panels_dnd', 'panels');
		ctools_add_css('panels_admin', 'panels');
		ctools_add_js('panels_ipe', 'panels_ipe');
	}
    ctools_add_css('panels_ipe', 'panels_ipe');
	if (og_user_access($group_id,'administer group')) {
		drupal_add_js(array('PanelsIPECacheKeys' => array($this->clean_key)), 'setting');

		drupal_add_library('system', 'ui.draggable');
		drupal_add_library('system', 'ui.droppable');
		drupal_add_library('system', 'ui.sortable');
	}
    parent::add_meta();
  }
AntiNSA’s picture

Issue summary: View changes

I need this or I may never upgrade to drupal 7

AntiNSA’s picture

Priority: Normal » Critical