hunk.code_window: 		}
   		c.LogAudit("name=" + channel.Name)
   		post := &model.Post{ChannelId: channel.Id, Message: fmt.Sprintf(
   			c.T("api.channel.delete_channel.archived"),
   			user.Username)}
   		if _, err := CreatePost(c, post, false); err != nil {
   			l4g.Error(utils.T("api.channel.delete_channel.failed_post.error"), err)
   			c.Err = model.NewLocAppError("deleteChannel", "api.channel.delete_channel.failed_send.app_error", nil, "")
   			return
   		}
   		result := make(map[string]string)
   		result["id"] = channel.Id
  
hunk.labels: keep keep keep keep replace replace replace replace replace replace replace replace keep keep keep
hunk.after_edit: 		go func() {
   			InvalidateCacheForChannel(channel.Id)
   			message := model.NewMessage(c.TeamId, channel.Id, c.Session.UserId, model.ACTION_CHANNEL_DELETED)
   			PublishAndForget(message)
   			post := &model.Post{
   				ChannelId: channel.Id,
   				Message:   fmt.Sprintf(c.T("api.channel.delete_channel.archived"), user.Username),
   				Type:      model.POST_CHANNEL_DELETED,
   			}
   			if _, err := CreatePost(c, post, false); err != nil {
   				l4g.Error(utils.T("api.channel.delete_channel.failed_post.error"), err)
   			}
   		}()
  
hunk.file_path: api/channel.go
hunk.type: replace
file: // Copyright (c) 2016 Mattermost, Inc. All Rights Reserved.
  // See License.txt for license information.
  
  import React from 'react';
  
  import ChannelStore from 'stores/channel_store.jsx';
  import * as Utils from 'utils/utils.jsx';
  
  import {FormattedMessage} from 'react-intl';
  
  export default class InstalledIncomingWebhook extends React.Component {
      static get propTypes() {
          return {
              incomingWebhook: React.PropTypes.object.isRequired,
              onDelete: React.PropTypes.func.isRequired,
              filter: React.PropTypes.string
          };
      }
  
      constructor(props) {
          super(props);
  
          this.handleDelete = this.handleDelete.bind(this);
      }
  
      handleDelete(e) {
          e.preventDefault();
  
          this.props.onDelete(this.props.incomingWebhook);
      }
  
      matchesFilter(incomingWebhook, channel, filter) {
          if (!filter) {
              return true;
          }
  
          if (incomingWebhook.display_name.toLowerCase().indexOf(filter) !== -1 ||
              incomingWebhook.description.toLowerCase().indexOf(filter) !== -1) {
              return true;
          }
  
          if (incomingWebhook.channel_id) {
              if (channel && channel.name.toLowerCase().indexOf(filter) !== -1) {
                  return true;
              }
          }
  
          return false;
      }
  
      render() {
          const incomingWebhook = this.props.incomingWebhook;
          const channel = ChannelStore.get(incomingWebhook.channel_id);
  
          if (!this.matchesFilter(incomingWebhook, channel, this.props.filter)) {
              return null;
          }
  
          let displayName;
          if (incomingWebhook.display_name) {
              displayName = incomingWebhook.display_name;
          } else if (channel) {
              displayName = channel.display_name;
          } else {
              displayName = (
                  <FormattedMessage
                      id='installed_incoming_webhooks.unknown_channel'
                      defaultMessage='A Private Webhook'
                  />
              );
          }
  
          let description = null;
          if (incomingWebhook.description) {
              description = (
                  <div className='item-details__row'>
                      <span className='item-details__description'>
                          {incomingWebhook.description}
                      </span>
                  </div>
              );
          }
  
          return (
              <div className='backstage-list__item'>
                  <div className='item-details'>
                      <div className='item-details__row'>
                          <span className='item-details__name'>
                              {displayName}
                          </span>
                      </div>
                      {description}
                      <div className='item-details__row'>
                          <span className='item-details__url'>
                              <FormattedMessage
                                  id='installed_integrations.url'
                                  defaultMessage='URL: {url}'
                                  values={{
                                      url: Utils.getWindowLocationOrigin() + '/hooks/' + incomingWebhook.id
                                  }}
                              />
                          </span>
                      </div>
                      <div className='tem-details__row'>
                          <span className='item-details__creation'>
                              <FormattedMessage
                                  id='installed_integrations.creation'
                                  defaultMessage='Created by {creator} on {createAt, date, full}'
                                  values={{
                                      creator: Utils.displayUsername(incomingWebhook.user_id),
                                      createAt: incomingWebhook.create_at
                                  }}
                              />
                          </span>
                      </div>
                  </div>
                  <div className='item-actions'>
                      <a
                          href='#'
                          onClick={this.handleDelete}
                      >
                          <FormattedMessage
                              id='installed_integrations.delete'
                              defaultMessage='Delete'
                          />
                      </a>
                  </div>
              </div>
          );
      }
  }
  